【Redis入门到醒目六】在Spring Boot中集成Redis(含配置和操纵演示) ...

打印 上一主题 下一主题

主题 985|帖子 985|积分 2955

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目录

Spring Boot中集成Redis
1.项目创建和情况配置
2.根本操纵演示


Spring Boot中集成Redis

        Spring社区也自定义了一套Redis的客户端,与jedis的操纵方式有所差别,Spring中把每个范例的操纵都单独封装了起来。下面就让我来带大家了解怎样在Spring Boot项目中使用Redis。
1.项目创建和情况配置

1.第一步创建Spring Boot项目,在创建项目时勾选NoSQL中的Spring Data Redis,然后等待项目加载。

 2.第二步在application.yml中配置Redis服务地址
  1. spring:
  2.   data:
  3.     redis:
  4.       host: 127.0.0.1
  5.       port: 8888
复制代码
假如需要进行redis集群的配置可以使用下面的配置项:
  1. spring:
  2.   data:
  3.     redis:
  4.       cluster:
  5.         nodes:
  6.           - 172.30.0.101:6379
  7.           - 172.30.0.102:6379
  8.           - 172.30.0.103:6379
  9.           - 172.30.0.104:6379
  10.           - 172.30.0.105:6379
  11.           - 172.30.0.106:6379
  12.           - 172.30.0.107:6379
  13.           - 172.30.0.108:6379
  14.           - 172.30.0.109:6379
  15.       lettuce:
  16.         cluster:
  17.           refresh:
  18.           adaptive: true
  19.           period: 2000
复制代码
        下⽅的 lettuce 系列配置,⽬的是为了⾃动刷新集群的拓扑结构。当集群中有节点宕机/加⼊新节点之后, 我们的代码可以大概⾃动感知到集群的变化。由于上述 ip 都是 docker 容器的 ip, 在 windows 主机上不能直接访问。因此需要把步伐打成 jar 包, 部署到 linux 上,再通过 java -jar [jar包名] 的⽅式执⾏。
   3.第三步引入StringRedisTemplate实例,便可以通过redisTemplate进行Redis的相干操纵了。
  1. @RestController
  2. public class MyController {
  3.     @Autowired
  4.     private StringRedisTemplate redisTemplate;
  5. }
复制代码
2.根本操纵演示

1.String范例操纵演示:
  1. @RestController
  2. public class MyController {
  3.     @Autowired
  4.     private StringRedisTemplate redisTemplate;
  5.     @GetMapping("/testString")
  6.     public String testString(){
  7.         redisTemplate.opsForValue().set("key","value");
  8.         String value = redisTemplate.opsForValue().get("key");
  9.         System.out.println(value);
  10.         redisTemplate.delete("key");
  11.         return "OK";
  12.     }
  13. }
复制代码
在上述代码中,我们通过调用redisTemplate的opsForValue方法可以得到一个专门操纵Redis中String范例的对象,通过这个对象的操纵我们便可以得到如下结果:

 2.List范例操纵演示:
  1.     @GetMapping("/testList")
  2.     @ResponseBody
  3.     public String testList() {
  4.         redisTemplate.opsForList().leftPush("key", "a");
  5.         redisTemplate.opsForList().leftPushAll("key", "b", "c", "d");
  6.         List<String> values = redisTemplate.opsForList().range("key", 1, 2);
  7.         System.out.println(values);
  8.         redisTemplate.delete("key");
  9.         return "OK";
  10.     }
复制代码
在上述代码中,我们通过调用redisTemplate的opsForList方法可以得到一个专门操纵Redis中List范例的对象,通过这个对象的操纵我们便可以得到如下结果: 

3.Set范例操纵演示:
  1.     @GetMapping("/testSet")
  2.     @ResponseBody
  3.     public String testSet() {
  4.         redisTemplate.opsForSet().add("key", "aaa", "bbb", "ccc");
  5.         boolean ok = redisTemplate.opsForSet().isMember("key", "aaa");
  6.         System.out.println(ok);
  7.         redisTemplate.opsForSet().remove("key", "aaa");
  8.         long n = redisTemplate.opsForSet().size("key");
  9.         System.out.println(n);
  10.         redisTemplate.delete("key");
  11.         return "OK";
  12.     }
复制代码
在上述代码中,我们通过调用redisTemplate的opsForSet方法可以得到一个专门操纵Redis中Set范例的对象,通过这个对象的操纵我们便可以得到如下结果: 

4.Hash范例操纵演示:
  1.     @GetMapping("/testHashmap")
  2.     @ResponseBody
  3.     public String testHashmap() {
  4.         redisTemplate.opsForHash().put("key", "name", "zhangsan");
  5.         String value = (String) redisTemplate.opsForHash().get("key", "name");
  6.         System.out.println(value);
  7.         redisTemplate.opsForHash().delete("key", "name");
  8.         boolean ok = redisTemplate.opsForHash().hasKey("key", "name");
  9.         System.out.println(ok);
  10.         redisTemplate.delete("key");
  11.         return "OK";
  12.     }
复制代码
在上述代码中,我们通过调用redisTemplate的opsForHash方法可以得到一个专门操纵Redis中Hash范例的对象,通过这个对象的操纵我们便可以得到如下结果: 

5.Sorted Set范例操纵演示:
  1.     @GetMapping("/testZSet")
  2.     @ResponseBody
  3.     public String testZSet() {
  4.         redisTemplate.opsForZSet().add("key", "吕布", 100);
  5.         redisTemplate.opsForZSet().add("key", "赵云", 98);
  6.         redisTemplate.opsForZSet().add("key", "典⻙", 95);
  7.         Set<String> values = redisTemplate.opsForZSet().range("key", 0, 2);
  8.         System.out.println(values);
  9.         long n = redisTemplate.opsForZSet().count("key", 95, 100);
  10.         System.out.println(n);
  11.         redisTemplate.delete("key");
  12.         return "OK";
  13.     }
复制代码
在上述代码中,我们通过调用redisTemplate的opsForZSet方法可以得到一个专门操纵Redis中Sorted Set范例的对象,通过这个对象的操纵我们便可以得到如下结果: 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表