redisTemplate的实操演练

Posted 纷飞落叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redisTemplate的实操演练相关的知识,希望对你有一定的参考价值。

前言

        昨天大概简单地了解一下redis的数据结构以及事件驱动模型,然后碰到了跳表这种数据结构,于是又对跳表数组和链表这三种数据结构进行了一番比对。但是实际工作中,我们并不会接触这些过于底层地数据结构,我们只需要用好大佬给我们写好的操作redis的工具包就行了。平时我听说过两种使用java操作redis的工具包,一个是那个什么jedis,另一个就是spring框架集成的RedisTemplate

    由于我深受spring框架毒害,所以直接二话不说选择了spring框架自带的redisTemplate。一开始操作的时候,碰到了一个很恶心的问题。就是那一堆键值序列化器。如下直接拿起来redisTemplate就用:


        你会发现,虽然你把值存进去了,但是在redisDeskTop里面却找不到你刚才存得键值对。但是实际上键值对是存在的。


        

redisTemplate的实操演练


        如果你换一种方式注入redisTemplate,标记该template是操作String类型的键值对的,如下:


redisTemplate的实操演练

        

        那么你就可以看到客户端管理工具里有这个键值对:


redisTemplate的实操演练


        这里面主要涉及到序列化和反序列化的问题。第一种,第二种注入方式,默认使用的序列化器分别如下:

    

redisTemplate的实操演练

        我们先记住是因为序列化与反序列化的原因导致了这种情况的发生。不过接下来我们先不对这一点进行深究。我们直接进入今天的主题,如何使用redisTemplate对常见的String,list以及hash等数据结构进行一些常见的操作。

练手项目

https://github.com/liantengda/myRedis.git


简单示例

        此处我来引用几个我写好的简单示例。所有对redis的操作全部封装在RedisUtil类中。


1String数据结构,根据key找到value

      测试结果如下:

redisTemplate的实操演练

2String数据结构,存储一个字符串

      测试结果如下:

redisTemplate的实操演练

3String数据结构,在有值的地方根据偏移量进行覆写

一开始的值如下所示:

redisTemplate的实操演练

然后我们从第二个喵开始覆写,偏移量为3,我们把第二个喵覆盖了。如下:

redisTemplate的实操演练 

接下来这个比较有意思,按道理,UTF-8编码的字符占用三个字节,如果我们添加的偏移量offset不是3的倍数,那么覆写出来的值,大概率会有乱码。测试结果如下:

redisTemplate的实操演练


4List数据结构,从左侧向list中插入一组值

测试结果如下:

redisTemplate的实操演练


5List数据结构,从右侧弹出一个元素,弹出后不复存在

测试结果如下:


redisTemplate的实操演练


再次查询该key值对应的list,结果如下:


redisTemplate的实操演练

6Hash数据结构,向某个hash中批量添加键值对

测试结果如下:

7Hash数据结构,从某个hash中查找指定数量的键值

本次测试主要是为了测试下,hash中的遍历功能。needCount即为我们需要的数量,也为遍历次数。测试结果如下:

小结

        以上只是例举了几个简单的测试,实际上目前一共有三十多个接口对应三十多种功能。以后还会继续增加,360度无死角练习。让你的redis用起来像风一样。

        

    十年河东十年河西,切莫放年华虚度

   一脚门里一脚门外,可晓得脚步留神


以上是关于redisTemplate的实操演练的主要内容,如果未能解决你的问题,请参考以下文章

刘文彬精解EOS智能合约演练

ElasticSearch6.x版本聚合统计在Kibana上的实操和在SpringBoot上的实操

《项目管理华山论剑》—项目管理关键专题实操演练

六祎-Nginx反向代理和负载均衡配置实操演练

PAM常见的实操案例

PAM常见的实操案例