• 深入理解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操作。去掉该注解,独立出来这个方法解决。这个是要注意的地方。

  • 相关阅读:
    bind 与Eval的区别
    GDI+
    文件读写
    “六度分离”和 洪泛(Search flooding)搜索
    Internet streaming 现在谁是霸主?
    苹果提供高清HD下载SO贵
    关于Youtube 的平均文件尺寸与GFS
    [笔记+整理]随机网络和无标度网络
    2008年中国广播电视广告额增长超15%
    笔记:Mobile CDN 和IPTV CDN有哪些不同
  • 原文地址:https://www.cnblogs.com/barrywxx/p/8525852.html
Copyright © 2020-2023  润新知