当前位置: 首页 > news >正文

网站开发制作报价wordpress 创建数据表

网站开发制作报价,wordpress 创建数据表,做网站拍摄照片用什么佳能相机好,html如何建网站Redis 的 Spring 客户端使用 前面使用 Jedis 时, 是借助 Jedis 对象中的各种方法来对 Redis 进行操作. 而在 Spring 框架中, 则是通过 StringRedisTemplate 来操作 Redis. 最开始提供的类是 RedisTemplate, StringRedisTemplate 是 RedisTemplate 的子类, 专门用于处理文本数据…

Redis 的 Spring 客户端使用

前面使用 Jedis 时, 是借助 Jedis 对象中的各种方法来对 Redis 进行操作. 而在 Spring 框架中, 则是通过 StringRedisTemplate 来操作 Redis. 最开始提供的类是 RedisTemplate, StringRedisTemplate 是 RedisTemplate 的子类, 专门用于处理文本数据.

0. 配置 Spring 的 Redis环境

(1) 引入 Redis 的 Spring 依赖

选中 NoSQL 中的 Spring Data Redis (Access+Driver) 依赖.

image-20250305173733774

(2) 写 Spring 配置文件

application.yml:

spring:data:redis:host: 127.0.0.1port: 8888
(3) 创建 Controller 类, 并注入 StringRedisTemplate 对象.
@RestController
public class MyController { @AutowiredStringRedisTemplate stringRedisTemplate;
}

[!NOTE]

这里的 RedisTemplate 将 Redis 中的命令, 又做了进一步封装, 分成了几个类别 (每个类别操作特定的数据类型)

  • opsForValue(): 专门操作 string 类型.
  • opsForList(): 专门操作 list 类型.
  • opsForSet(): 专门操作 set 类型.
  • opsForHash(): 专门操作 hash 类型.
  • opsForZSet(): 专门操作 zset 类型.

这样一来, 它提供的一些接口风格和原生的Redis命令就存在一定差异.

还有一点要注意的是: Spring 并没有封装 Redis 的所有命令 (如 flushAll 就没有封装), 此时我们可以使用 execute 方法来使用 Redis 的原始命令.

例如:

stringRedisTemplate.execute((RedisConnection connection) -> {// execute 要求回调方法中必须写 return 语句,返回个东西// 这个回调返回的对象,就会作为 execute 本身的返回值connection.flushAll();return null;});
//这里的RedisConnection对象, 就相当于Jedis里的Jedis对象.

1.使用 string

@RestController
public class MyController {@AutowiredStringRedisTemplate stringRedisTemplate;@GetMapping("/testString")public String testString() {stringRedisTemplate.opsForValue().set("key", "111");stringRedisTemplate.opsForValue().set("key2", "222");stringRedisTemplate.opsForValue().set("key3", "333");String value = stringRedisTemplate.opsForValue().get("key");System.out.println("value: " + value);return "OK";}
}
  • 请求结果:

postman:

image-20250305182121278

日志:

image-20250305182205671

2. 使用 list

    @GetMapping("/testList")public String testList() {// 先清除之前的数据tringRedisTemplate.execute((RedisConnection connection) -> {// execute 要求回调方法中必须写 return 语句,返回个东西// 这个回调返回的对象,就会作为 execute 本身的返回值connection.flushAll();return null;});stringRedisTemplate.opsForList().leftPush("key", "111");stringRedisTemplate.opsForList().leftPush("key", "222");stringRedisTemplate.opsForList().leftPush("key", "333");String value = stringRedisTemplate.opsForList().rightPop("key");System.out.println("value: " + value);value = stringRedisTemplate.opsForList().rightPop("key");System.out.println("value: " + value);value = stringRedisTemplate.opsForList().rightPop("key");System.out.println("value: " + value);return "OK";}
  • 运行结果:

image-20250305195044857

3. 使用 set

    @GetMapping("/testSet")public String testSet() {stringRedisTemplate.execute((RedisConnection connection) -> {connection.flushAll();return null;});stringRedisTemplate.opsForSet().add("key", "111", "222", "333");Set<String> result = stringRedisTemplate.opsForSet().members("key");System.out.println("result: " + result);Boolean exists = stringRedisTemplate.opsForSet().isMember("key", "111");System.out.println("exists: " + exists);Long count = stringRedisTemplate.opsForSet().size("key");System.out.println("count: " + count);stringRedisTemplate.opsForSet().remove("key", "111", "222");result = stringRedisTemplate.opsForSet().members("key");System.out.println("result: " + result);return "OK";}
  • 运行结果:

image-20250305195721095

4. 使用 Hash

    @GetMapping("/testHash")public String testHash() {stringRedisTemplate.execute((RedisConnection connection) -> {connection.flushAll();return null;});stringRedisTemplate.opsForHash().put("key", "f1", "111");stringRedisTemplate.opsForHash().put("key", "f2", "222");stringRedisTemplate.opsForHash().put("key", "f3", "333");String value = (String) stringRedisTemplate.opsForHash().get("key", "f1");System.out.println("value: " + value);Boolean exists = stringRedisTemplate.opsForHash().hasKey("key", "f1");System.out.println("exists: " + exists);stringRedisTemplate.opsForHash().delete("key", "f1", "f2");Long size = stringRedisTemplate.opsForHash().size("key");System.out.println("size: " + size);return "OK";}
  • 运行结果:

image-20250305201837017

5. 使用 zset

    @GetMapping("/testZSet")public String testZSet() {stringRedisTemplate.execute((RedisConnection connection) -> {connection.flushAll();return null;});stringRedisTemplate.opsForZSet().add("key", "zhangsan", 10D);stringRedisTemplate.opsForZSet().add("key", "lisi", 20D);stringRedisTemplate.opsForZSet().add("key", "wangwu", 30D);Set<String> members = stringRedisTemplate.opsForZSet().range("key", 0, -1);System.out.println("members: " + members);Set<ZSetOperations.TypedTuple<String>> membersWithScore = stringRedisTemplate.opsForZSet().rangeWithScores("key", 0, -1);System.out.println("membersWithScore: " + membersWithScore);Double score = stringRedisTemplate.opsForZSet().score("key", "zhangsan");System.out.println("score: " + score);stringRedisTemplate.opsForZSet().remove("key", "zhangsan");Long size = stringRedisTemplate.opsForZSet().size("key");System.out.println("size: " + size);Long rank = stringRedisTemplate.opsForZSet().rank("key", "lisi");System.out.println("rank: " + rank);return "OK";}
  • 运行结果:

image-20250305202913409

http://www.dtcms.com/a/470725.html

相关文章:

  • php网站建设参考文献网站做很多关键词
  • 【Go】--数据类型
  • 偃师网站建设wordpress排版教程
  • 有好点的网站建设公司吗酒店网络营销方式有哪些
  • Java String类中的lastIndexOf方法的应用场景
  • open-webui版本更新
  • 【远程桌面】在ubuntu中安装远程桌面
  • 卫生设计真空搅拌机:全球市场格局与未来增长路径
  • 信用网站一体化建设方案网站建设好后有些什么资料
  • 站长工具seo综合查询可以访问wordpress点击弹窗插件
  • INI文件相比于json文件,有什么优势?
  • DAY 34 GPU训练及类的call方法-
  • 建设高端网站公司安徽省工程造价信息网
  • 狮岭做网站网站建设与运营
  • TDengine 数学函数 ATAN() 用户手册
  • 网站页面设计欣赏如何实现一个响应式网页
  • C# 中的回调函数
  • 海南网站公司苏州吴中区住房和城乡建设局网站
  • SwiftUI 的状态管理包装器(Property Wrapper)
  • MATLAB基于WOA(鲸鱼优化算法)优化LSTM神经网络的分类模型实现。主要功能是通过智能算法自动寻找LSTM的最佳超参数,构建分类模型并对数据进行分类预测
  • Ethernet II 帧头部
  • 【完整源码+数据集+部署教程】 植物组织分割系统源码&数据集分享 [yolov8-seg-LSKNet等50+全套改进创新点发刊_一键训练教程_Web前端展示
  • 网站链接怎么做二维码诸暨网站制作有哪些公司
  • 大连网站制作网页asp网站经常 响应
  • 引航科技提供网站建设建设网站的分析
  • 【笔记】poll,实现I/O多路复用的一种机制,是 select 的改进版
  • 智能风控-银行卡实名认证接口-银行卡实名API助力企业高效合规管理
  • Java基础面试题
  • 网站建站建设费用新任上海市领导调整公示
  • 泰安市网站建设公司合肥制作网站企业