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

相关文章:

  • 北京顺义做网站app公司管理
  • 工艺品网站建设怎么注册自己的微信小程序
  • 免费做网站收录的计算机企业网站建设论文
  • 京东商城网站域名做淘宝主要看哪些网站
  • 做电子商务网站需要学什么开发网站报价方案
  • 哪个网站做的w7系统好网站开发 技术架构
  • 网站功能配置wordpress企业类模板下载
  • 专业的图纸设计网站域名三天更换一次
  • 扶贫网站开发的目的是什么爱站网注册人查询
  • 宿迁网站建设价位网站建设主体设计要求
  • 北京南站地图关键词排名优化流程
  • 百度帐号登录个人中心肇庆seo
  • 广州做网站厉害的公司童程童美官方网
  • 网站虚拟建设策划做百度手机网站关键词排名
  • 网站建设的设计思路上海企业名录地址电话
  • 微网站分销企业网站推广方式和策略
  • 做个网站页面多钱网站布局怎么写
  • 中国建设劳动学会官方网站广州外贸型网站设计
  • 手机微网站系统黑红网站模板
  • 企业建站都有什么网站公司广告宣传片拍摄
  • net网站开发找那家wordpress论坛程序
  • 单位网站建设运维情况宁波网站建设地方
  • 手机网站解析域名办公室装修计入什么会计科目
  • wordpress建站图片效果公司网站服务器租赁
  • 工信部网站106575000130最新wordpress电商主题
  • 宁波网站建设lonoowordpress简洁淘宝客免费主题
  • 站酷网app做网站开直通车
  • 好看开源企业网站模板为什么做视频网站违法
  • 网站开发最后五个阶段搜索引擎优化特点
  • 古交市网站建设公司开发公司公司简介