javascript
深入理解Spring Redis的使用 (五)、常见问题汇总
目前我所知道的Redistemplate里面,我沒有使用到的就是管道。這個可以進行批量的讀寫。類似于jdbc的batch。還有就是Redis的集群部署。但是由于我業務里沒有這種需求,所以沒有使用無法給大家進行講解。
遇到的問題有:
1.序列化器。
由于我是配置了全局唯一一個RedisTemplate,所以所有的dao都共用RedisTemplate,難免會出現有的無法使用公共的序列化器的。
比如一個統計數量的incr函數,這個調用的時候,Redis服務器存儲了一個字符串,通過valueoperaion進行get的時候,反序列化異常。這個因為默認的valueserializer是jdk序列化。但是服務器存儲了字符串。對于這種情況,我就重寫該Dao的get方法,自己使用RedisCallback調用。里面用StringSerializer反序列化,問題解決。
除此之外,還會存在一些別的問題。所以,對于一些基本類型來說,建議大家直接定義一個objectSerializer,里面先進行轉String,然后調用String.getbytes解決。反序列化這個問題我也沒到怎么處理。但是一般也很少getKey。如果有好的辦法請私信我。
2.腳本的事務問題
因為我的所有操作都是通過@transactional,讓spring來管理事務的,后來發現執行腳本的時候報錯。看異常才知道腳本不支持事務,但是進入方法前,spring已經把當前的connection進行了multi操作。去掉該注解,獨立出來這個方法解決。這個是要注意的地方。
轉載于:https://www.cnblogs.com/barrywxx/p/8525852.html
總結
以上是生活随笔為你收集整理的深入理解Spring Redis的使用 (五)、常见问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: halcon圆环完整度检测
- 下一篇: 身份证地址码码表MySQL