SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

Easter79
• 阅读 542

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

List 类型的操作

1、 向列表左侧添加数据

    Long leftPush = redisTemplate.opsForList().leftPush("name", name);

2、 向列表右侧添加数据

    Long rightPush = redisTemplate.opsForList().rightPush("name", name);

3、 向列表左侧批量添加数据

ArrayList<Object> list = new ArrayList<>();
    list.add("shanghai");
    list.add("shenzhen");
    list.add("beijing");
    redisTemplate.opsForList().leftPushAll("address", list);

4、 查询列表中指定索引的值

    Object name = redisTemplate.opsForList().index("name", index);

5、 查询列表指定范围内的值

    List range = redisTemplate.opsForList().range(key, sIndex, eIndex);

6、 修改列表中 指定索引的值

    redisTemplate.opsForList().set(key, index, object);

7、 截取列表中指定范围内的值

    redisTemplate.opsForList().trim(key, sIndex, eIndex);

8、 移除列表中指定索引和指定值

    Long remove = redisTemplate.opsForList().remove(key, index, object);

9、 弹出列表左侧的值

    Object o = redisTemplate.opsForList().leftPop(key);

10、 弹出列表右侧的值

    Object o = redisTemplate.opsForList().rightPop(key, time, TimeUnit.MILLISECONDS);

11、弹出指定列表右侧的值,并把值添加到另一指定列表的左侧

    Object o = redisTemplate.opsForList().rightPopAndLeftPush(key1, key2, time, TimeUnit.SECONDS);
Hash 类型的操作

在操作hash 数据类型前,同样我们自定义下 序列化规则

//定义Hash key 序列化 方式
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
//定义Hash value 序列化方式
redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());

1、 添加 key-value

    redisTemplate.opsForHash().put(key,hkey,hvalue);

2、 批量添加key-value

HashMap<Object, Object> map = new HashMap<>();
map.put("num", 2);
map.put("name", "susu");
map.put("age", 18);
redisTemplate.opsForHash().putAll(key, map);

3、 获取 指定对象所有的 hash 值

    Map entries = redisTemplate.opsForHash().entries(key);

4、 获取指定对象的所有key

    Set keys = redisTemplate.opsForHash().keys(key);

5、 获取指定对象的所有value

    List values = redisTemplate.opsForHash().values(key);

6、 获取指定对象的指定 key 的 value

    Object o = redisTemplate.opsForHash().get(key, hkey);

7、 根据指定对象的key 删除value值

    Long delete = redisTemplate.opsForHash().delete(key, hkey);

8、 获取指定对象的特定key 对应的value 的长度

    Long lengthOfValue = redisTemplate.opsForHash().lengthOfValue(key, hkey);

SpringBoot中 集成 redisTemplate  对 Redis 的操作(二)

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
2年前
SpringBoot使用RedisTemplate操作Redis时,key值出现 -xac-xed-x00-x05t-x00-tb
原因分析原因与RedisTemplate源码中的默认序列化方式有关defaultSerializernewJdkSerializationRedisSerializer(classLoader!null?classLoader:this.getClass().getClassLoader()
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Easter79 Easter79
2年前
SpringBoot使用RedisTemplate操作Redis时,key值出现 -xac-xed-x00-x05t-x00-tb
原因分析原因与RedisTemplate源码中的默认序列化方式有关defaultSerializernewJdkSerializationRedisSerializer(classLoader!null?classLoader:this.getClass().getClassLoader()
Stella981 Stella981
2年前
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)
SpringBoot中集成redisTemplate对Redis的操作(二)List类型的操作1、向列表左侧添加数据LongleftPushredisTemplate.opsForList().leftPush("name",name);2、向列表右侧添加数据
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k