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

软装设计师培训中心seo研究中心论坛

软装设计师培训中心,seo研究中心论坛,天天ae模板网,外贸和网站制作redis 介绍 Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存#xff0c;事件发布或订阅#xff0c;高速队列等场景。支持网络#xff0c;提供字符串#xff0c;哈希#xff0c;列表#xff0c;队列#xff0c;集合结构直接存取#xff0c;基于内存事件发布或订阅高速队列等场景。支持网络提供字符串哈希列表队列集合结构直接存取基于内存可持久化。 redis 集成 一、核心装配 1、RedisTemplate 注入 Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory redisConnectionFactory,ObjectMapper objectMapper, KeyStringSerializer keyStringSerializer) {RedisTemplateString, Object template new RedisTemplate();template.setConnectionFactory(redisConnectionFactory);//key序列化方式RedisSerializerString defalutSerializer template.getStringSerializer();//值序列化方式RedisSerializerObject jsonRedisSerializer new GenericJackson2JsonRedisSerializer(objectMapper);//设置key 的序列化方式template.setKeySerializer(keyStringSerializer);template.setHashKeySerializer(keyStringSerializer);//设置值 的序列化方式template.setValueSerializer(jsonRedisSerializer);template.setHashValueSerializer(jsonRedisSerializer);//设置默认的序列化方式template.setDefaultSerializer(defalutSerializer);template.afterPropertiesSet();return template;}2、自自定义key 序列化 , redisKeyPrefix前缀兼容多项目隔离 Slf4j public class KeyStringSerializer implements RedisSerializerString {private final Charset charset;public KeyStringSerializer() {this.charset StandardCharsets.UTF_8;}Autowiredprivate CustomRedisProperties redisProperties;Overridepublic byte[] serialize(String s) throws SerializationException {String newValue getKeyPrefix() s;return newValue.getBytes(charset);}Overridepublic String deserialize(byte[] bytes) throws SerializationException {String saveKey new String(bytes, charset);String keyPrefix getKeyPrefix();if (StrUtil.isNotBlank(keyPrefix)) {int indexOf saveKey.indexOf(keyPrefix);if (indexOf 0) {log.info(key缺少前缀);} else {saveKey saveKey.substring(indexOf);}log.info(saveKey:{}, saveKey);}return saveKey;}private String getKeyPrefix() {return redisProperties.getRedisKeyPrefix();}二、redis操作封装 注入bean实例方便引用 Beanpublic RedisService redisService(ObjectMapper objectMapper, RedisTemplateString, Object redisTemplate) {return new DefaultRedisServiceImpl(objectMapper, redisTemplate);}RedisService 接口实现 package com.hxl.redis.load;import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit;/*** Author hxl* description* Date 2023-06-14 16:19**/ public interface RedisService {/*** *公共基础操作***/Boolean exists(String key);Boolean expire(String key, long timeout);Boolean expire(final String key, final long timeout, final TimeUnit unit);int delete(String... keys);Boolean delete(String key);/*** *基础类型(Integer、String、实体类等) 操作***/Boolean set(String key, Object value);Boolean set(String key, Object value, long expireTime);Boolean set(String key, Object value, long expireTime, TimeUnit timeUnit);String get(String key);T T getObject(String key, ClassT type);T ListT getObjectList(String key, ClassT type);/*** *双向列表 list操作***/Long setCacheList(String key, Object value);Long setCacheList(String key, ListObject values);Long setLeftCacheList(String key, Object value);Long setLeftCacheList(String key, ListObject values);T T rightPop(String key, ClassT type);T T leftPop(String key, ClassT type);T ListT getCacheList(String key, ClassT type);Long size(String key);/*** *hash map操作**/Boolean hPut(String key, String hashKey, Object value);Boolean hPutAll(String key, MapString, String maps);Boolean hExists(String key, String field);Long hDelete(String key, Object... fields);MapObject, Object hGetAll(String key);Object hGet(String key, String field);ListObject hMultiGet(String key, CollectionObject fields);Long hSize(String key);/*** *set 集合 不重复**/boolean addSet(String key, Object value);boolean removeSet(String key, Object... value);SetObject getAllSet(String key);/*** *set 有序集合 不重复**/Boolean addZSet(String key, Object value, double score);Long removeZSet(String key, Object... value);/*** ZSet数据增加分数** param key key* param value value* param delta 分数* return duuble*/Double incrZSet(String key, Object value, double delta);/*** 升序 区间查询** param key key* param min 最小分数* param max 最大分数* return SetObject*/SetObject zSetRangeByScore(String key, double min, double max);/*** 降序 区间查询** param key key* param min 最小分数* param max 最大分数* return SetObject*/SetObject zSetRangeDescByScore(String key, double min, double max); } 具实现见DefaultRedisServiceImpl 三、使用方法 1、pom 依赖 dependencygroupIdcom.hxl/groupIdartifactIdtower-boot-redis/artifactIdversion1.0.0-SNAPSHOT/version /dependency2、yml 配置 edisKeyPrefix 项目前缀,会默认拼接key前缀 spring:redis:host: 127.0.0.1port: 6379database: 0password:timeout: 5000lettuce:pool:max-active: 8max-idle: 8max-wait: -1min-idle: 0redisKeyPrefix: towergithub 项目地址 https://github.com/sanxiaoshitou/tower-boot
http://www.sadfv.cn/news/30874/

相关文章:

  • 网站开发生命周期营销导向企业网站建设
  • 网站城市分站是怎么做的WordPress mx 主题
  • 制作网站专业地方建设的钱哪里来
  • js多久可以做网站有专门做背景音乐的网站吗
  • 不知此网站枉做男人的网站上海建设网站平台
  • 银行门户网站建设北京网页制作模板
  • 中国建设教育协会官方网站帝国cms 网站名称标签
  • 哪个小说网站版权做的好处哪个网站可预约做头发
  • 商丘市住房和城乡建设厅网站电脑网站打不开怎么解决
  • 做的网站怎么让别人也能看到上海中心设计公司是谁
  • 为女朋友做网站网站建设费可摊几年
  • html5网站代码上海官网网址
  • 宁阳网站建设深圳营销型企业网站
  • 网站如何做信息表丰台建设企业网站
  • 云龙微网站开发宁波妇科专家哪个最好
  • 学校建设微网站的方案免费网站域名空间申请
  • 淄博住房和城乡建设局网站南充市房地产网官方网站
  • 如何夸奖一个网站做的好最近一周新闻大事摘抄
  • 中国智慧城市建设门户网站运维工程师
  • 网站开发登录要做哪些验证河南郑州网站关键词排名助手
  • wordpress 分隔符 sp网站维护优化
  • 兰州网站优化服务王野天演员
  • 网站产品链接怎么做上海国外网站建设
  • 深圳龙岗淘宝网站建设公司有哪些铁道部售票网站多少钱建设
  • 手机模板网站wordpress edu 2.0
  • 网站编程是什么意思往网站上做新东西需要什么
  • 有没有做卡哇伊的企业网站深圳画册设计龙华
  • 广州哪家公司做网站好什么是自主设计网站
  • 个人博客网站制作搭建任县网站建设
  • 亳州建设机械网站什么都能看的浏览器