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

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

List 类型的操作

1、 向列表左侧添加数据

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

2、 向列表右侧添加数据

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

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

1ArrayList<Object> list = new ArrayList<>(); 2 list.add("shanghai"); 3 list.add("shenzhen"); 4 list.add("beijing"); 5 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 数据类型前,同样我们自定义下 序列化规则

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

1、 添加 key-value

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

2、 批量添加key-value

1HashMap<Object, Object> map = new HashMap<>(); 2map.put("num", 2); 3map.put("name", "susu"); 4map.put("age", 18); 5redisTemplate.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);

点赞
收藏

评论区

加载中...

相关推荐

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

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid

SpringBoot使用RedisTemplate操作Redis时,key值出现 -xac-xed-x00-x05t-x00-tb

原因分析原因与RedisTemplate源码中的默认序列化方式有关defaultSerializernewJdkSerializationRedisSerializer(classLoader!null?classLoader:this.getClass().getClassLoader()