Redis
欧拉兔
vfrvwr
展开
-
RedisTemplate常用使用说明--发布订阅
java配置import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.listener.PatternTopic;import org.springframework.data.redis.listener.RedisMessa...原创 2019-12-04 15:43:28 · 2458 阅读 · 0 评论 -
RedisTemplate常用使用说明--通道操作
@Autowired @Resource(name = "redisTemplate") private RedisTemplate<String, String> rt; public void flushdb() { rt.execute(new RedisCallback<Object>() { pu...原创 2019-12-04 15:12:22 · 1629 阅读 · 0 评论 -
RedisTemplate常用使用说明--事务操作
Redis 事务相关的命令参考https://www.runoob.com/redis/redis-transactions.htmlRedis 事务在 SpringBoot 中的应用说明:下面以测试用例的形式说明 Redis 事务在 SpringBoot 中正确与错误的用法。首先,看一看当前测试用例的主体代码:import com.imooc.ad.Application;i...原创 2019-12-04 14:49:05 · 6447 阅读 · 0 评论 -
Redis的三种集群方式
redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照...原创 2019-07-03 23:04:43 · 119 阅读 · 0 评论 -
Redis-哨兵(Sentinel)模式
主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。一.哨兵模式概述哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Red...原创 2019-07-03 23:18:44 · 91 阅读 · 0 评论 -
Redis-主从同步模式
Redis的性能很好,但在某些情况下还是不能满足我们的需求,比如过多的用户进入主页,导致Redis被频繁访问,此时就存在大量的读操作。在一些秒杀场景中,一瞬间有成千上万的读请求到达Redis服务器,显然单靠一台Redis服务器是不够的。一些服务网站对安全性有较高的要求,当主服务器不能工作的时候,需要从服务器代替原来的主服务器,作为灾备,以保证系统可以正常运行。因此更多的时候我们希望读写分离,读写分...原创 2019-07-03 23:24:08 · 180 阅读 · 0 评论 -
Redis-主从同步配置
1.安装Redis##下载redis安装包wget http://download.redis.io/releases/redis-3.0.4.tar.gz##解压tar -xzvf redis-3.0.4.tar.gzcd redis-3.0.4#执行make命令编译makemake install安装完成后,会在/usr/local/bin目录下生成下面几个可执行文件,它...原创 2019-07-04 00:09:33 · 151 阅读 · 0 评论 -
SpringBoot整合Redis-哨兵主从服务
1.配置application.properties##单服务器spring.redis.host=39.107.119.256##单端口spring.redis.port=6381## 连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=300## Redis数据库索引(默认为0) spring.redis.database=...原创 2019-07-04 00:45:46 · 765 阅读 · 0 评论 -
SpringBoot整合Redis-Cluster集群
1.添加相关依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.添加redis配置# Red...原创 2019-07-04 00:57:04 · 10459 阅读 · 0 评论 -
RedisTemplate常用集合使用说明-opsForZSet(5)
1、add(Kkey,Vvalue, doublescore)添加元素到变量中同时指定元素的分值。redisTemplate.opsForZSet().add("zSetValue","A",1); redisTemplate.opsForZSet().add("zSetValue","B",3); redisTemplate.opsForZSet().add("zSet...原创 2019-07-03 22:16:53 · 10167 阅读 · 3 评论 -
RedisTemplate常用使用说明-opsForSet(4)
1、add(Kkey,V...values)向变量中批量添加值。redisTemplate.opsForSet().add("setValue","A","B","C","B","D","E","F"); 2、members(Kkey)获取变量中的值。Set set = redisTemplate.opsForSet().members("setValue...原创 2019-07-03 21:45:48 · 3368 阅读 · 0 评论 -
RedisTemplate常用使用说明-opsForHash(3)
1、put(Hkey,HKhashKey,HVvalue)新增hashMap值。redisTemplate.opsForHash().put("hashValue","map1","map1-1"); redisTemplate.opsForHash().put("hashValue","map2","map2-2"); 2、values(Hkey)获取指...原创 2019-07-03 21:27:23 · 32980 阅读 · 0 评论 -
SpringBoot-使用Redis数据库
1.单机版整合1.1配置文件信息# REDIS (RedisProperties)# Redis数据库索引(默认为0)spring.redis.database=0# Redis服务器地址spring.redis.host=localhost# Redis服务器连接端口spring.redis.port=8090# Redis服务器连接密码(默认为空)spring.red...原创 2019-03-09 21:41:44 · 498 阅读 · 0 评论 -
Redis序列化方式比较
1.Spring-Data-Redis支持的序列化策略SpringBoot默认提高StringRedisTemplate和RedisTemplate,前者用于操作包含字符串的数据机构,后者则使用了JDK自带的序列化策略。事实上StringRedisTemplate继承了RedisTemplate,对key、value、hashkey、hashvalue提供了不同的序列化策略:pub...原创 2019-03-09 23:20:35 · 2515 阅读 · 0 评论 -
SpringBoot使用Redis发布订阅pub/sub
1.消息发送RedisTemplate支持Pub/Sub功能,调用convertAndSend方法可以发送一条消息: @Autowired private RedisTemplate<String, String> redisTemplate; /** * redis生产者测试 * @param data * @ret...原创 2019-03-10 18:53:40 · 6320 阅读 · 0 评论 -
使用Redis Cache
Maven配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </depende...原创 2019-03-11 16:17:45 · 1134 阅读 · 0 评论 -
Redis-缓存穿透、缓存雪崩和缓存击穿
1.缓存穿透 缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。代码流程参数传入对象主键ID 根据key从缓存中获取对象 如果对象不为空,直接返回 如果对象为空,进行数据库查询 如果从数据库查询...原创 2019-06-05 15:46:35 · 161 阅读 · 0 评论 -
Redis-SETNX命令简介
命令格式SETNX key value将 key 的值设为 value,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。SETNX 是SET if Not eXists的简写。返回值返回整数,具体为- 1,当 key 的值被设置- 0,当 key 的值没被设置例子redis> SETNX mykey “hello...原创 2019-06-05 17:37:11 · 5946 阅读 · 0 评论 -
RedisTemplate常用使用说明-opsForValue(1)
1.set(Kkey,Vvalue) 新增一个字符串类型的值,key是键,value是值。redisTemplate.opsForValue().set("stringValue","bbb"); 2.get(Objectkey) 获取key键对应的值。String stringValue = redisTemplate.opsForValu...原创 2019-07-02 01:35:22 · 4713 阅读 · 1 评论 -
RedisTemplate常用使用说明-opsForList(2)
1、leftPush(Kkey,Vvalue)在变量左边添加元素值。redisTemplate.opsForList().leftPush("list","a"); redisTemplate.opsForList().leftPush("list","b"); redisTemplate.opsForList().leftPush("list","c"); ...原创 2019-07-03 01:34:50 · 6263 阅读 · 1 评论 -
Redis命令操作详解
1、KEY操作 (1)redis允许模糊查询key 有3个通配符 *、?、[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 (4)exists key:判断某个key是否存在 (5)del key:删除key (6)rename key newkey:改名 (7)renamenx key newkey:如...原创 2019-03-08 23:32:27 · 169 阅读 · 0 评论