vlambda博客
学习文章列表

Redis 使用经验总结

潦潦cc,遇到便处理罢了。

基于RedisTamplate 进行操作;

1、RedisTamplate 可以利用管道操作或Lua脚本执行命令来降低网络消耗,减少网络连接次数。

2、RedisTamplate 操作Lua脚本在单机环境和集群环境下的问题,在集群环境下Lua,lua脚本的Key需要处理落节点问题,因此,在编写Lua脚本执行时,尽可能保证测试环境和正式环境的Redis服务模式保持一致。此外,Redisson是如何处理Lua脚本在集群环境下执行的问题的,有待研究。

3、Redis序列化问题,在往Redis存的数据的时候一定要考虑对象的更新,升级,转换等问题,对象添加字段可以兼容旧的模式的数据吗,对象删除字段会不会影响已经存入的数据,这些原因都有可能导致上线过程中的紧急问题。

4、RedisTamplate 操作Lua脚本执行传参时,类型要求与RedisTamplate 定义的类型保持一致,ARGV 数组虽然是Object的,但是其本质目的是需要序列化操作的;否则需要自定义序列化,总之,使用Redis自定义的简单的Key,Value序列化容易产生这样那样的问题,尽可能的自己去实现,这样在编写业务时,可以清楚的知道或大致的猜到参数的转化,对排查问题有很大的帮助。