使用Redis的注意事项

  • 如非必要,一定要设置TTL。如果不是业务所需,必须持久存储,那么请一定要设置好TTL,否则随着时间流逝,Redis里会塞满垃圾。 此外还要注意使用框架时,确定好框架是否会设置ttl,比如最近遇到的一个坑就是Python RQ没有默认为job设置ttl,因此几年过去, 现在Redis内存不够用了,分析之后才发现,里面有诸多的垃圾,比如一些不用的业务数据,还有很早以前的job的数据等等,全部都堆在 Redis中,成为了持久的垃圾。

  • 不要设置过长的key。比如spring框架就会有这样的key:spring:session:sessions:1c88a003-63a4-48a0-979d-9b3be4ed9c0c,其中 很大一部分都是无用的数据,占用了过多的内存。

  • 客户端使用连接池,以复用连接,提升性能。

  • 使用 pipeline 来执行多个动作,避免减少多次网络来回的开销。

  • 如果使用了Lua,那么一定要注意Lua脚本不能占用太长时间。

  • 设置密码
  • 建表规范,例如:MySQL的数据库名为vs,用户表名为user,那么对应的键可以用"vs:user:1","vs:user:1:name"来表示.
上一篇:4 通信接口横向对比


下一篇:rabbitMq 死信队列(三)消息 TTL 过期成为死信