spring-data-redis对redis进行操作

本文通过示例介绍了如何使用 Spring Data Redis 进行字符串、列表和其他类型数据的操作,包括存储、读取、自增自减等常用功能。

官网文档

参考资料

参考资料

使用spring-data-redis实现incr自增

spring-data-redis increment 命令序列化失败

//--------------------------- string 类型数据操作----------------------------
// 获取对string的进行操作的操作对象
ValueOperations<String, String> stringOperations = redisTemplate.opsForValue();

//永久保存,不设置过期时间
stringOperations.set("key1", "value1");

//存储并设置30秒过期
stringOperations.set("key2", "value2", 30, TimeUnit.SECONDS);

//判断可以是否存在,存在则不进行存储,不存在则进行存储
stringOperations.setIfAbsent("key1", "value3");
stringOperations.setIfAbsent("key3", "value3");

String value1 = stringOperations.get("key1");
String value2 = stringOperations.get("key2");
String value3 = stringOperations.get("key3");
System.out.println("value1:" + value1);
System.out.println("value2:" + value2);
System.out.println("value3:" + value3);

//-------------------------自增自减操作----------------------------------------
ValueOperations<String, Integer> valueOperations = redisTemplate.opsForValue();

valueOperations.increment("key6", -1);
BoundValueOperations value6 = redisTemplate.boundValueOps("key6");
System.out.println("value6:" + value6.get(0, -1));

//-------------------对其他类型进行操作--------------------------------
List<Date> dateList = new ArrayList<Date>();
dateList.add(sdf_date.parse("2018-06-07 11:40:22"));
dateList.add(sdf_date.parse("2018-06-07 12:40:22"));
dateList.add(sdf_date.parse("2018-06-07 13:40:22"));
dateList.add(sdf_date.parse("2018-06-07 13:45:22"));
ValueOperations<String, Object> valueOperations = redisTemplate.opsForValue();

valueOperations.set("object2", sdf_date.parseObject("2018-06-07 13:55:22"));
valueOperations.set("object1", dateList,90,TimeUnit.SECONDS);

System.out.println("object1:" + valueOperations.get("object1"));
System.out.println("object2:" + valueOperations.get("object2"));

//-------------------对List类型进行操作---------------------------
ListOperations<String, Object> listOperations = redisTemplate.opsForList();
for (int i = 0; i < 5; i++) {
    User user = new User();
    user.setRealName("王二" + i);
    user.setAge(11 + i);

    listOperations.leftPush("userList", user);
}
User user1 = (User) listOperations.leftPop("userList");

System.out.println(user1);


转载于:https://my.oschina.net/haokevin/blog/1825857

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值