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

石家庄定制网站建设大连高新园区

石家庄定制网站建设,大连高新园区,天翼电子商务有限公司,现在网站开发模式Redis中间件实战1 Redis各种数据结构实战 字符串 需求:将用户信息存储至缓存中,实现每次前端请求获取用户个人详情时直接从缓存中获取。来演示字符串的写入与读取。 技术方案:为了实现这个需求,首先需要建立用户对象实体,里面包含用户个人的各种信息,包括ID、年龄、姓…Redis中间件实战1 Redis各种数据结构实战 字符串 需求:将用户信息存储至缓存中,实现每次前端请求获取用户个人详情时直接从缓存中获取。来演示字符串的写入与读取。 技术方案:为了实现这个需求,首先需要建立用户对象实体,里面包含用户个人的各种信息,包括ID、年龄、姓名、用户名及住址等, 然后采用RedisTemplate操作组件将这一用户对象序列化为字符串信息并写入缓存中,最后从缓存中读取即可。 public class Person implements Serializable {private int id;private int age;private String name;private String address;public Person() {}public Person(int id, int age, String name, String address) {this.id = id;this.age = age;this.name = name;this.address = address;}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;} }创建controller @RestController @RequestMapping(value = "/string") public class StringController {@Autowiredprivate RedisTemplate redisTemplate;@Autowiredprivate ObjectMapper mapper;private static Logger logger = LoggerFactory.getLogger(StringController.class);@GetMapping(value = "/one")public void one() throws Exception{Person p1 = new Person(95001,23,"孙悟空","花果山水帘洞");// 定义key与即将存入缓存中的valuefinal String key = "redis:string:1";// JSON序列化String value = mapper.writeValueAsString(p1);// 写入缓存中logger.info("存入缓存中的用户实体对象信息为:{}",p1);//使用set命令写入缓存中redisTemplate.opsForValue().set(key,value);// 从缓存中获取用户的信息final Object object = redisTemplate.opsForValue().get(key);if (object != null) {Person p = mapper.readValue(object.toString(),Person.class);logger.info("从缓存中读取信息:{}",p);}}@GetMapping(value = "/get")public Person one(String key) throws Exception{// 从缓存中获取用户的信息final Object object = redisTemplate.opsForValue().get(key);if (object != null) {Person p = mapper.readValue(object.toString(),Person.class);logger.info("从缓存中读取信息:{}",p);return p;}return null;} }测试 http://localhost:9090/swagger-ui.html 列表 Redis的列表类型跟java的List类型很类似,用于存储一系列具有相同类型的数据。其底层对于数据的存储和读取 可以理解为一个数据队列,往List中添加数据的时候,即相当于往队列中的某个位置插入数据;而从List中 获取数据相当于从队列中某个位置获取数据。 需求: 将一组已经排好序的用户对象列表存储在缓存中,按照排名的先后顺序获取出来并输出到控制台上。 技术方案: 首先需要定义一个已经排好序的用户对象的列表,然后将其存储到Redis的List中,最后按照排名的先后顺序 将每个用户实体获取出来。 代码实现: 创建controller @RestController @RequestMapping(value = "/list") public class ListController {@Autowiredprivate RedisTemplate redisTemplate;@Autowiredprivate ObjectMapper mapper;private static Logger logger = LoggerFactory.getLogger(ListController.class);@GetMapping(value = "/one")public void one() {ListPerson pList = new ArrayList();pList.add(new Person(1,20,"孙悟空","花果山水帘洞"));pList.add(new Person(1,30,"猪八戒","高老庄"));pList.add(new Person(1,40,"沙悟净","流沙河"));pList.add(new Person(1,50,"唐三藏","东土大唐"));logger.info("构造已经排好序的用户对象列表对象:{}",pList);// 将列表数据存储到Redis中的List中final String key = "redis:list:1";ListOperations listOperations = redisTemplate.opsForList();for (Person p:pList) {// 往列表中添加数据-从队尾添加listOperations.leftPush(key,p);}// 获取Redis列表中的数据-从队头中遍历获取,直到没有元素为止。logger.info("获取Redis中list的数据-从队头中获取");Object res = listOperations.rightPop(key);Person tmp = null;while (res != null) {tmp = (Person)res;logger.info("当前数据:{}",tmp.getName());res = listOperations.rightPop(key);}} }日志 2024-02-05 15:04:20.782 INFO 13724 --- [nio-9090-exec-1] c.a.redis.controller.ListController : 构造已经排好序的用户对象列表对象:[com.airycode.redis.bean.Person@4900d96f, com.airycode.redis.bean.Person@2fe9acc6, com.airycode.redis.bean.Person@512f8c42, com.airycode.redis.bean.Person@32385a70] 2024-02-05 15:04:20.823 INFO 13724 --- [nio-9090-exec-1] c.a.redis.controller.ListController : 获取Redis中list的数据-从队头中获取 2024-02-05 15:04:20.850 INFO 13724 --- [nio-9090-exec-1] c.a.redis.controller.ListController : 当前数据:孙悟空 2024-02-05 15:04:20.853 INFO 13724 --- [nio-9090-exec-1] c.a.redis.controller.ListController : 当前数据:猪八戒 2024-02-05 15:04:20.856 INFO 13724 --- [nio-9090-exec-1] c.a.redis.controller.ListController : 当前数据:沙悟净 2024-02-05 15:04:20.859 INFO 13724 --- [nio-9090-exec-1] c.a.redis.controller.ListController : 当前数据:唐三藏总结: 在实际的应用场景中,Redis的列表类型特别适用于排名,排行榜,近期访问数据列表等业务场景 是一种很实用的存储类型 集合 Redis的集合类型跟高等数学中学习的集合类似,用于存储具有相同的类型或特性的不重复的数据 ,即Redis中的集合Set存储的数据是唯一的,其底层的数据结构是哈希表
http://www.zqtcl.cn/news/821140/

相关文章:

  • 建设网站cms网站开发后台需要自己写吗
  • 天津协会网站建设学计算机的做网站的叫什么工作
  • 商城网站建设缺点淘宝店铺怎么免费推广
  • 利于优化的网站模板360建筑网密码忘了
  • 商务网站建设找哪家网页设计商品页面制作
  • 连云港网站建设方案大型门户网站多少钱
  • win7 iis设置网站首页网站建设攵金手指科杰壹陆
  • 阿里巴巴网站建设的功能定位手机在线制作图片加字
  • 网站联系我们的地图怎么做的电子商务网站建设完整案例教程
  • 北京学习网站建设湖北省建设厅政务公开网站
  • 推广做网站联系方式贵州省领导班子名单一览表
  • 厦门的网站建设公司徐州城乡建设局网站
  • 天津圣辉友联网站建设南昌本地生活网站有哪些
  • 境外社交网站上做推广上海网站建设的价格低
  • 山西专业网站建设大全高校网站群建设研究
  • 网络营销网站建设流程网站功能设计指什么
  • 企业网络推广网站琼海市建设局网站
  • 移动网站搭建网页设计页面设计
  • 建设网站进行商品营销的重要性恢复正常百度
  • 美容会所网站模板下载jsp网站开发实现增删改查
  • 注册网站需要注意什么深圳建站公司兴田德润官网多少
  • 广东网站优化布吉做棋牌网站建设有哪些公司
  • 联邦快递的网站建设图书馆建设网站注意点
  • 西安好的皮肤管理做团购网站wordpress stats
  • 文山 网站建设 滇icp卡盟网站顶图怎么做
  • 北京网站建设公司哪些好电商建站
  • 沈阳百度广告广州营销seo
  • 营销型企业网站建设步骤做网站怎样和客户沟通
  • 多媒体教学网站开发的一般步骤网络公司网站赏析
  • 阿里云手机网站建设多少钱wordpress幻灯片制作