当前位置: 首页 > 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.yutouwan.com/news/30874/

相关文章:

  • html门户网站模板岳麓区营销型网站建设定制
  • 可以做仿牌网站动漫专业最好的学校
  • 如何导入旧网站数据库第一ppt模板网官网
  • 学院网站建设 需求分析自己建的网站打开的特别慢
  • 微信的网站河北建设工程信息网可上中项网
  • 网站搭建是什么专业网站建设合同要注意什么
  • 打开有些网站显示建设中网站logo怎么替换
  • flask网站开发视频有经验的南昌网站建设
  • 赌网站怎么做武钢建设公司网站
  • 新网站如何快速收录云南旅游攻略6天5晚多少钱
  • 做网站知名的学习网站广告代理
  • 如何建造自己的网站山东青岛网站建设公司
  • 珠海开发网站公司女生学动漫设计好找工作吗
  • 做网站公司的出路渭南网站建设与维护
  • 国内做外贸网站的有哪些网站搭建哪家比较好
  • 巨腾网站建设企业邮箱的登录方式
  • 阿里企业的网站建设营销型集团网站建设
  • 网站有什么作用手机wap 网站
  • 学校网站建设工作网站开发是
  • 海淀做网站建材城电商网站建设
  • 怎么看网站用的什么程序做的网站定制开发微信运营
  • 辽宁省建设网站wordpress表单提交的邮箱
  • 交互式网站开发技术有哪些深圳保障性住房规划
  • 活动网站建设专题网站建设意义何在
  • 温州网站建设服务器微信网站建设口碑好
  • 中网互联网站建设公司注册查询网
  • 建设部或国土资源管理局的网站wordpress 自动发邮件
  • 做玩游戏任务得q币的网站安徽定制型网站建设推广
  • 邯郸做企业网站改版uniapp做网站
  • 东台专业做网站怎么知道一个网站的权重