设为首页 收藏本站
查看: 1879|回复: 0

[经验分享] 初试Redis的感受

[复制链接]
发表于 2018-11-7 13:41:01 | 显示全部楼层 |阅读模式
  最新打算写一个小的通用爬虫,爬行队列的存储是一个比较麻烦的问题,以前用过mysql,但是当数据量大到一定程度,速度就不可以忍受了。由于这种数据没什么关系在里面,自然选用NoSQL会带来更高的性能。当前有很多选择,考虑到爬虫还是比较注重性能的,我就把以性能出众为特色的Redis作为第一个考虑对象。今天总算得到一个可以休息的周末,赶紧研究了一下。其实最后结果还是有些失望的,这里简单说一下试用感受。
  既然这么新潮的东西,当然直接上官网看资料,地址是http://redis.io/,比较有意思的是有个在线版本命令行可以玩,地址是http://try.redis-db.com/。后来发现mongodb也有这样的在线命令行,但是ubuntu装软件太方便了,等发现的时候都已经装好了,汗!这里不得不称赞一下Redis,Server端真的很小,真是短小精悍型的。
  它非常有特点的就是有多种数据结构,这相比EHCache就灵活多了,当然他们也不是用来干一样的事情,没太多可比性。主要的数据结构有LinkedList、Set、SortedSet、Hash,提供的command也非常方便,比如lpush就是从头插入链表,rpush就是从尾插入链表。我个人感觉就是一个加强版的单机Memcached,直接对数据结构进行操作也能够让自己的应用非常灵活。
  但是话说回来,灵活是有代价的,用起来真是够麻烦的,只要有一点关系型操作就折腾死了。就拿官方给的例子来说吧,像mysql一样插入一个的用户注册信息就得这样:

  • INCR global:nextUserId => 1000
  • SET uid:1000:username antirez
  • SET uid:1000:password p1pp0

  • SET username:antirez:uid 1000
  这个还是一行数据,没涉及到复杂的关联关系。这要是取用户名和密码还要写两个语句,要是参数再多一点不累死人了?要不就把字符串拼接起来,取出来以后切分,我看官方给的例子里面也有这么用的,但是这也太土了吧!?key也完全是为了自己的应用拼出来的,内部使用的时候还得统一规范。难道这个value就不能像EHCache一样存个序列化的对象么,这个想法或许真的可以。另外由于只能对key查询,所以如果需要查询key还要再建一个反过来的映射。最后还要抱怨一句,命令行下面居然没有help,找了半天也没找到类似man的命令,难道以后还要对着手册操作么...
  其实说是可以用非关系型的存储方式,但是真实用起来发现还是很多不一样,偶尔还是希望用类sql的方式去查询。我在想如果真的用Redis,那代码维护难度要提升不少,为了这点性能值得么。其实Redis的关注点还是在高性能和数量级不是特别大的情况,特别是需要自己控制数据结构的时候。刚才又试用了一下mangodb,他的类sql方式查询还是很容易上手的,我在想可不可以用他来做爬行队列,如果用熟练了还可以去解决海量存储的问题。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-632016-1-1.html 上篇帖子: redis使用笔记(1) 下篇帖子: 一 redis学习笔记之环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表