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

网页广告图片重庆seo排

网页广告图片,重庆seo排,专业做网站 台州玉环,公司做网站注意事项一、介绍 1、简介 RedisTemplate 是 Spring Data Redis 提供的一个高级抽象,由 Spring 官方提供的方便操作 Redis 数据库的一个工具类,支持模板设计模式,使得操作 Redis 更加符合 Spring 的编程模型。还支持序列化机制,可以处理…

一、介绍

1、简介

RedisTemplate 是 Spring Data Redis 提供的一个高级抽象,由 Spring 官方提供的方便操作 Redis 数据库的一个工具类,支持模板设计模式,使得操作 Redis 更加符合 Spring 的编程模型。还支持序列化机制,可以处理 Java 对象的存取。其本质属于 Spring-Data 模块下的 Spring-Data-Redis 部分,它提供了从 Spring 应用程序轻松配置和访问 Redis的功能。

2、原理

Spring-Data-Redis 是通过整合Lettuce和Jedis这俩种Redis客户端产生的,对外则提供了RedisTemplate这样统一的API来供调用者访问。它既支持Luttuce的响应式编程也支持JDK中集合的实现。

3、和Jedis的区别

Jedis 是一个用于直接与 Redis 服务器通信的 Java 客户端库,它提供了 Redis 所有基本功能的直接 API,需要手动管理连接(如创建 Jedis 实例和处理连接关闭等),并且需要在项目中引入 Jedis 的相关 Maven 依赖,Jedis 适合需要精细控制 Redis 操作的场景,直接提供 Redis 命令的操作方式;

RedisTemplate 更加适合与 Spring 框架集成的应用,提供了更高层次的抽象和便利的方法来简化 Redis 操作。

具体选用客户端还是模板,根据项目实际需要即可。

二、使用

1、引入依赖
        <!--Redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--连接池依赖--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.11.1</version></dependency>
2、配置连接

由于 RedisTemplate 是整合的Lettuce和Jedis,因此在配置连接池的时候需要进行选择是使用Lettuce还是Jedis(默认是Lettuce)

#Redis cache setting
spring.data.redis.host=127.0.0.1
spring.data.redis.port=6379
spring.data.redis.password=
#最大连接数
spring.data.redis.lettuce.pool.max-active=8
#等待时长
spring.data.redis.lettuce.pool.max-wait=-1
#最大空闲连接
spring.data.redis.lettuce.pool.max-idle=8
#最小空闲连接
spring.data.redis.lettuce.pool.min-idle=0
spring.data.redis.lettuce.pool.enabled=true
spring.data.redis.lettuce.pool.time-between-eviction-runs=30s
3、使用

通过依赖注入就可以直接使用

    @Autowiredprivate RedisTemplate redisTemplate;@Testpublic void  testString(){String key = "name";//存String value = "这是value123";redisTemplate.opsForValue().set(key,value);//取Object valueObj = redisTemplate.opsForValue().get(key);System.out.println("value为:" + valueObj);}

执行打印:value为:这是value123 

4、序列化

注意点:上面存入的数据打开Redis图形化工具查看发现是一堆乱码

这是因为Redis的序列化并没有按照我们预期的进行转化,我们需要自己去重写一个序列化,如下将key设置为String类型、value设置为json类型,最后将这个对象交给Spring管理,之后在调用该对象的时候就会自动选择我们配置的这个:

@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {//创建RedisTemplate对象RedisTemplate<String, Object> template = new RedisTemplate<>();//设置连接工厂template.setConnectionFactory(connectionFactory);//创建JSON序列化工具GenericJackson2JsonRedisSerializer jsonSerializer = new GenericJackson2JsonRedisSerializer();//设置key的序列化template.setKeySerializer(RedisSerializer.string());template.setHashValueSerializer(RedisSerializer.string());//设置value的序列化template.setValueSerializer(jsonSerializer);template.setHashValueSerializer(jsonSerializer);return template;}
}

 对于JSON序列化工具也需要引入依赖:

        <!--jackson依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.17.1</version></dependency>

此时存储正常:

redis的序列化方式有:

@Configuration
@EnableConfigurationProperties(RedisProperties.class)
public class RedisConfig {@Resource private LettuceConnectionFactory factory;@Bean(name = "redisTemplateForRateLimit")public RedisTemplate<String, Object> redisTemplate() {Assert.notNull(factory, "can not initialise [RedisConnectionFactory]");Jackson2JsonRedisSerializer<Object> jacksonSerializer =new Jackson2JsonRedisSerializer<>(Object.class);ObjectMapper objectMapper = getObjectMapper();jacksonSerializer.setObjectMapper(objectMapper);RedisTemplate<String, Object> template = new RedisTemplate<>();StringRedisSerializer serializer = new StringRedisSerializer();template.setKeySerializer(serializer);template.setHashKeySerializer(serializer);template.setValueSerializer(jacksonSerializer);template.setHashValueSerializer(jacksonSerializer);template.setDefaultSerializer(jacksonSerializer);template.setConnectionFactory(factory);template.afterPropertiesSet();return template;}
}

 三、API

RedisTemplate 提供了丰富的方法来实现对 Redis 的各种操作,包括但不限于字符串、哈希、列表、集合和有序集合等数据结构的操作。以下是一些常用的 RedisTemplate API:

1、字符串操作
  • opsForValue().set(key, value): 设置字符串值。
  • opsForValue().get(key): 获取字符串值。
  • opsForValue().incr(key): 字符串值自增。
  • opsForValue().decr(key): 字符串值自减。
2、哈希操作

opsForHash().getOperations().put(key, hashKey, value): 向哈希中添加键值对。
opsForHash().getOperations().get(key, hashKey): 获取哈希中的值。
opsForHash().getOperations().entries(key): 获取哈希中的所有键值对。

3、列表操作

opsForList().leftPush(key, value): 从列表左侧添加元素。
opsForList().rightPush(key, value): 从列表右侧添加元素。
opsForList().leftPop(key): 从列表左侧弹出元素。
opsForList().rightPop(key): 从列表右侧弹出元素。

4、集合操作
  • opsForSet().add(key, value): 向集合中添加元素。
  • opsForSet().members(key): 获取集合中的所有元素。
  • opsForSet().remove(key, value): 从集合中移除元素。
5、有序集合操作

opsForZSet().add(key, value, score): 向有序集合中添加元素,并指定分数。
opsForZSet().range(key, start, end): 获取有序集合中指定分数范围内的元素。
opsForZSet().removeRangeByScore(key, minScore, maxScore): 按分数范围移除有序集合中的元素。

6、键操作
  • delete(key): 删除键。
  • hasKey(key): 检查键是否存在。
  • keys(pattern): 根据模式匹配获取所有键。
7、事务
  • multi(): 开启事务。
  • exec(): 提交事务。
8、发布/订阅
  • convertAndSend(channel, message): 发布消息。
  • subscribe(RedisMessageListenerContainer, MessageListener): 订阅消息。
9、连接管理
  • getConnectionFactory(): 获取连接工厂。
  • getExecutor(): 获取执行器。
10、序列化

  • setKeySerializer(Serializer): 设置键的序列化器。
  • setValueSerializer(Serializer): 设置值的序列化器。

更多操作可以查看官方提供的API文档:RedisTemplate (Spring Data Redis 3.3.2 API)

http://www.mmbaike.com/news/35814.html

相关文章:

  • 长沙做网站改版费用软文推广代表平台
  • 小区服务网站怎么做违禁网站用什么浏览器
  • 现在海外做的比较好一点的网站深圳网络品牌推广公司
  • 陕西 网站建设 陕ICP网站收录查询平台
  • 如何用自己电脑做网站测试搜狗seo软件
  • 青海企业网站建设推广接单平台
  • cc后缀网站搜索引擎排名优化建议
  • 网站建设时怎么赚钱的沪深300指数基金
  • idc 网站源码seo搜索引擎优化试题及答案
  • 网站的管理权限有什么用的磁力搜索引擎
  • 在门户网站做推广百度业务员联系电话
  • 朔州网站建设个人如何建立免费网站
  • 网店网站建设seo搜索优化邵阳
  • 沈阳京科医院男科试分析网站推广和优化的原因
  • 花藤字体在线生成器使用 ahrefs 进行 seo 分析
  • 网站建设如何传视频教程网上打广告有哪些软件
  • wordpress首页文章数量太原seo网络优化招聘网
  • 深圳公司网站建设哪家好打开百度一下网页版
  • 海外网站怎么浏览最近一周国内热点新闻
  • 浏览器打不开网页是什么原因长沙网站seo收费
  • 石家庄进入应急状态google seo
  • 网络营销推广渠道有哪些seo教学平台
  • 有和wind一样做用网站在哪里可以做百度推广
  • 巴彦淖尔市做网站公司郑州网络推广哪个好
  • 做豆制品的网站现在阳性最新情况
  • 绿色大气网站模板千锋教育培训多少钱
  • 台州手机网站建设百度学术查重
  • 广州注册公司需要什么条件搜索引擎优化的目的是
  • 重庆政府公众信息网嘉兴seo优化
  • 微信公众号 视频网站开发什么是seo标题优化