网站建设报价模板下载,网站管理包括,神马收录提交入口,网络营销方式有哪些 各有什么特点文章目录 基础设置依赖StringRedisTemplate库的封装 运行StringList删库 SetHashZset 基础设置
依赖
需要选择这个依赖
StringRedisTemplate
// 后续 redis 测试的各种方法#xff0c;都通过这个 Controller 提供的 http 接口来触发
RestController
public class MyC… 文章目录 基础设置依赖StringRedisTemplate库的封装 运行StringList删库 SetHashZset 基础设置
依赖
需要选择这个依赖
StringRedisTemplate
// 后续 redis 测试的各种方法都通过这个 Controller 提供的 http 接口来触发
RestController
public class MyController { private StringRedisTemplate redisTemplate;
}前面使用 Jedis是通过 Jedis 对象里的各种方法来操作 Redis 的。此处 Spring 中则是通过 StringRedisTemplate 来操作 Redis 的
最原始提供的类是 RedisTemplate 类StringRedisTemplate 是其子类专门用来处理文本数据这个类提供的方法相比与 Jedis 中的各种方法还是存在较大差异
库的封装 此处 RedisTemplate 是把这些 redis 的方法分成了几个类别分门别类的来组织的
做了进一步封装 比如 opsForList 就是得到了一个专门来操作 List 的对象比如 opsForSet 就是得到了一个专门来操作 Set 的对象 后续该类型涉及到的相关操作都是以这个对象来组织的 此处提供的一些接口风格和原生的 Redis 命令就有一定的差异了 初心是希望通过上述的重新封装让接口用起来更简单 运行
String
// 后续 redis 测试的各种方法都通过这个 Controller 提供的 http 接口来触发
RestController
public class MyController { Autowired private StringRedisTemplate redisTemplate; GetMapping(/testString) ResponseBody public String testString(){ redisTemplate.opsForValue().set(key1, 111); redisTemplate.opsForValue().set(key2, 222); redisTemplate.opsForValue().set(key3, 3); String value redisTemplate.opsForValue().get(key1); System.out.println(value: value); return OK; }
}启动服务器之后在浏览器上输入对应的路径 随后观察日志
List
删库
RedisTemplate 留了一个后手让我们随时能够执行到 Redis 的原生命令—— execute 方法
相当于函数式接口也就是回调函数。就在回调里写我们要执行的 Redis 命令这个回调就会被 RedisTemplate 执行这里的 RedisConnection 就代表了 Redis 连接对标 Jedis 对象
GetMapping(/testList)
ResponseBody
public String testList() { // 清楚之前的数据 redisTemplate.execute((RedisConnection connection) - { connection.flushAll(); return null; }); redisTemplate.opsForList().leftPush(key1, 111); redisTemplate.opsForList().leftPush(key2, 222); redisTemplate.opsForList().leftPush(key3, 333); System.out.println(redisTemplate.opsForList().leftPop(key1)); System.out.println(redisTemplate.opsForList().leftPop(key2)); System.out.println(redisTemplate.opsForList().leftPop(key3)); return OK;
}connection. 里面都是我们熟悉的原生命令
Set
ResponseBody
GetMapping(/testSet)
public String testSet() { redisTemplate.execute((RedisConnection connetion) - { connetion.flushAll(); return null; }); redisTemplate.opsForSet().add(key, 111, 222, 333); SetString result redisTemplate.opsForSet().members(key); System.out.println(result); Boolean exists redisTemplate.opsForSet().isMember(key, 111); System.out.println(exists: exists); Long count redisTemplate.opsForSet().size(key); System.out.println(count: count); redisTemplate.opsForSet().remove(key, 111, 222); result redisTemplate.opsForSet().members(key); System.out.println(result: result); return OK;
} Hash
ResponseBody
GetMapping(/testHash)
public String testHash() { redisTemplate.execute((RedisConnection connection) - { connection.flushAll(); return null; }); redisTemplate.opsForHash().put(key1, field1, 111); redisTemplate.opsForHash().put(key2, field2, 222); redisTemplate.opsForHash().put(key3, field3, 333); String value (String) redisTemplate.opsForHash().get(key1, field1); System.out.println(value: value); Boolean exists redisTemplate.opsForHash().hasKey(key1, field1); System.out.println(exists: exists); redisTemplate.opsForHash().delete(key1, dield1, field2); Long size redisTemplate.opsForHash().size(key); System.out.println(size: size); return OK;
}Zset
GetMapping(/testZset)
ResponseBody
public String testZset(){ redisTemplate.execute((RedisConnection connection) - { connection.flushAll(); return null; }); redisTemplate.opsForZSet().add(key1, 111, 100); redisTemplate.opsForZSet().add(key2, 222, 98); redisTemplate.opsForZSet().add(key3, 333, 95); SetString members redisTemplate.opsForZSet().range(key1, 0, -1); System.out.println(members: members); SetZSetOperations.TypedTupleString membersWithSocres redisTemplate.opsForZSet().rangeWithScores(key, 0, -1); System.out.println(membersWithScores: membersWithSocres); Double score redisTemplate.opsForZSet().score(key1, 111); System.out.println(score: score); Long size redisTemplate.opsForZSet().size(key1); System.out.println(size: size); Long rank redisTemplate.opsForZSet().rank(key1, 111); System.out.println(rank: rank); return OK;
}