随笔分类 - Redis
摘要:#### 缓存设计 1.缓存穿透 > 查询一个根本不存在的数据,缓存层没有,每次都要到存储层区查询,失去了缓存保护后端存储的意义 - 解决方案: 缓存空对象并设置超时时间 2. 缓存失效>一大批缓存同一时间失效导致大量请求穿透缓存直达数据库,造成数据库压力过大甚至挂掉 - 解决方案: 将一次缓存过期
阅读全文
摘要:部署在一个tomcat下 模拟一个减库存的代码 这段代码请求少的话是没有问题的,但是在高并发的场景下就会出现问题 @RequestMapping("redisTest") public String redisTest() { String key = "count"; //获取库存数量 int c
阅读全文
摘要:单机连接 pom文件 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> java代码 // 连接池配置文件 Jedis
阅读全文
摘要:redis集群与哨兵选举原理 Redis集群 redis Cluster将所有数据分为16384个槽位,每个节点负责一部分,当客户端要查找某个key时,根据本地槽位分配信息进行定位 槽位定位算法 Cluster会对key进行crc16算法得到一个整数值,再对这个整数值进行16384取模得到具体槽位
阅读全文
摘要:Redis各架构安装与服务端使用 单机 主从架构 哨兵架构 集群 单机安装 确保本机已安装wget和gcc,如未安装执行yum install gcc wget -y 下载redis.tar.gz 本次使用的redis版本为5.08wget http://download.redis.io/rele
阅读全文
摘要:数据类型 String 单值缓存 set user:1 json数据 多值缓存 mset user:1:name zhangsan user:1:age 18 分布式锁 setnx key value 返回0或1 防止其他人修改 删除数据 del key value 计数器 incr article
阅读全文