redis有哪些坑

转载http://www.lmyw.net.cn/?p=278
使用redis遇到过的坑? – xman

  1. 一台机器好几个redis的instance,有几个是master,然后另一个机房网络挂了一段时间,重启redis做全量的同步,结果同步的数据一直不对,原因是因为同一台机器上面的redis指定的dump路径是一样的,结果串了 – xman

  2. redis 内存控制不好,结果是灾难型的,吃过亏 换ssdb 了 – Madman

  3. bgsave,内存要升一倍 – linbo

  4. 然后不要同时重启所有的slave,这样内存可能会升好几倍 – xman

  5. redis的pub/sub结构,如果主从出现问题,主库会一直在内存保留需要pub的数据,导致内存暴涨,而且目前pub/sub没有超时抛弃,没有内存限制,暂时无解。 – 付坤

  6. Redis用快照模式持久化,如果剩余内存不足REDIS占用内存会导致进程崩溃退出,快照模式也会因一些误操作导致数据丢失 – mosen

回: 持久化一直是redis诟病 – 凹凸曼

回: 搞个slave啊,在slave上做持久化 – 叶金荣

  1. 有人喜欢用REDIS取代MEM做缓存,这里有些坑,REDIS持久化会影响缓存操作,超过设置的最大内存有可能会导致无法写入数据

REDIS清理内存的机制和MEM不同,要小心使用 – mosen

  1. 这个老王有几篇文章写的不错。。记Redis那坑人的HGETALL http://huoding.com/2013/01/21/214 – tywei

  2. 哈哈。都被坑过。之前用socket和redis 搭建一套及时聊天室。采用的是它的pub sub 模式。每次都要new 2长连接。直接把redis 搞挂了。

后来用socket的join代替了。redis 只负责存储。并加入redis 连接池。 – 如末

  1. redis值太大导致整个redis服务异常. 大概有几m,这个事情害得我们服务中断了好几个小时. 另外遇到一个问题是分布式redis的时候值不过期 – 亿光年

问: 正常就需要存几M的数据吗,还是那次也正好是异常呢 – 叶金荣

回: 一直都那么存,但那次就异常了. 取出来数据是乱码 – 亿光年

当时我们用的是分布式的redis,后来迁移到单点时候才没问题

我们这边自己实现了一个分布式redis,但感觉老出问题

具体怎么实现的就不大清楚

后来问了些人,redis值最好不要大于5k,不然容易出问题 – 亿光年

  1. 还遇到个问题是redis队列值写不进去也读不出来

重启都不管用

我们当时用的是分布式的,内存应该不会崩 – 亿光年

回: 那要看分布式的实施方式了

如果是预估数据量然后设死节点数的,肯定会崩啊

要想完全动态扩容,很复杂的,像淘宝的tair

redis是全内存的,值很大就会塞满内存

看你key数量了,几千个就好几g了 – 仲晨

  1. 还有一个很坑的问题是PHPredis版本问题导致redis不能正常的序列化. 好像是PHP5.4. 跟PHPredis版本不兼容. 所以我们现在都不敢直接存数组了.我们用起来读比较多,写比较少 – 亿光年

  2. redis默认还会fork后本地备份,如果写入频繁,内存更容易爆 – 仲晨

  3. 数组如果可以无序,可以用hash,否则可以用igbinary或者json编码一下,直接存是怎样的做法? – shawnvan

回: redis的值是可以直接存数组,内部会给你序列化的,那次出问题后我们都自己json或者序列号成字符存进去 – 亿光年

  1. 使用redis常见的错误就是,没有设置IP限制、没有设置密钥访问,导致暴露公网任意连接 – 昱北

  2. 以前碰到过个小问题,用来存放高频度验证,每三分钟更新周期的,过滤器~开始就是用类别存放,当某一类或几类的值颗粒过多就会出现问题~类似刚才那位说的key的坑大约20k的颗粒,有些十来万个,有些几十万个。 – xingxing

  3. key value的用法,value值不能太大的问题我们也遇到过,单纯的key value用法倒不如用memcache.以前在这里分享过,还是多用用其他数据结构 – 零度西瓜

  4. 前段时间做活动,赶急上,对类型和数据结构没有很好的规划,现在查询起来分析key都头痛。 – 慕枫

  5. redis的ttl,值改变后要重新设置的 – shawnvan

  6. 由于redis单用户单进程,批量数据处理可以用管道pipeline – 林志勇

  7. Redis主从结构中,在不读取master中已经过期key的前提下,slave中的key短时间内不失效问题。Redis在实现GET、MGET、HGET、LRANGE等所有涉及到读取master数据的命令时都会调用expireIfNeeded函数被动触发失效,而且Redis的主动触发失效为了节省CPU资源不能全部及时的解决这个问题。

做了主从读写分离的系统,如果读永远在slave上,这个问题就比较严重,这是平时遇到的一个问题。 – 32f75a03d

  1. 使用redis常见的错误就是,没有设置IP限制、没有设置密钥访问,导致暴露公网任意连接 – 昱北

回: 密码我觉得没必要设置。IP搞成localhost就可以了。 – 如末

回: 内部IP鉴权就够了吧,不对外开放 – 林志勇

回: 最好是ip加密码,因为很多情况下是内网网段授权,入侵内网一台服务器,开个扫描器直接扫,那也暴露了。 – 昱北

  1. 之前在Redis的使用中曾经将设置的最大内存写满了,没有设置maxmemory-policy的情况下导致服务报错,无法继续写数据,追查源代码发现是因为由于内存不足,rdbSaveBackground函数中无法fork进程回写数据爆出异常。 – 32f75a03d

【分享链接】

  1. CVE 2015-0235: GNU glibc gethostbyname 缓冲区溢出漏洞 http://drops.wooyun.org/papers/4780 – 黑夜路人

  2. Not So Spooky: Linux “Ghost” Vulnerability http://blog.trendmicro.com/trendlabs-security-intelligence/not-so-spooky-linux-ghost-vulnerability/ – 张洋

  3. CVE-2015-0235:Linux Glibc漏洞检测方法及修复建议 https://sobug.com/article/detail/9 – @理鱼

  4. Nginx(PHP/fastcgi)的PATH_INFO问题 http://www.laruence.com/2009/11/13/1138.html – 光阴的故事

  5. 【原创】NLP中的中文分词技术 http://mp.weixin.qq.com/s?__biz=MjM5MDg2NjIyMA==&mid=203735010&idx=1&sn=c38894ca1fc7a4a0535f3d188c391a86 – 黑夜路人

  6. A PHP-Client for MySQL Binlog https://github.com/BullSoft/php-binlog – 种树人

  7. mysql binlog in realtime http://guweigang.com/blog/2013/11/18/mysql-binlog-in-realtime/ – 阿芳

  8. 程序员中的数学——0 https://www.evernote.com/shard/s194/sh/88eade1d-0894-4b20-b8aa-18c68f0e540c/bb8bf6e113878bbf – 廖强

  9. 《理解锁和信号量》https://www.evernote.com/l/AMJotoXzvz1KsaCfprhzjQqqyiZ0Hhcl2Fo – 廖强

  10. 概率论的一点学习笔记https://www.evernote.com/l/AMIilRAt1vBLao1Mewcsb7VLtts9HdVX2jo – 廖强

  11. 《多线程队列优化算法》https://www.evernote.com/l/AMKEVxXGGi1A6KKs1oNlRX-Iwe2lvbv2gEA – 廖强

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容