redis
o_瓜田李下_o
这个作者很懒,什么都没留下…
展开
-
redis 概述
redis概述*****************************************基本特性基于内存操作,读写速度快;单线程运行,避免线程上下文切换非阻塞IO,使用I/O多路复用模型基本数据结构为key==》value,value可为多种数据类型,操作较为简单可主从/哨兵,集群部署,具有高可用、分布式特性***************...原创 2019-10-01 07:57:55 · 387 阅读 · 0 评论 -
redis 架构
redis架构***********************************单机:单机环境常用于开发测试,实际应使用主从哨兵或者集群***********************************主从哨兵 master:可读可写,负责写入数据,并将数据发送给slaveslave:只可读,同步master的数据se...原创 2019-10-01 10:37:17 · 227 阅读 · 0 评论 -
redis 环境搭建(docker)
redis环境搭建**************************单机部署数据目录:/data默认端口:6379拉取镜像:docker pull redis创建单机容器:docker run -it -d -p 6379:6379 \-v /usr/redis/single/conf:/redis \--name redis-single red...原创 2019-10-01 11:11:47 · 197 阅读 · 0 评论 -
redis 缓存
redis缓存作用:将数据缓存在redis数据库中,可以快速响应客户端请求,但存在短时间的数据不一致,适用于对数据一致性要求不高的场景缓存使用条件:频繁查询的数据,对使用不频繁的数据可不用缓存内存空间较磁盘小,大数据不宜使用缓存适用于读多写少的场景,如果频繁写入,也不适宜使用缓存********************************相关注解...原创 2019-10-02 09:17:36 · 309 阅读 · 0 评论 -
redis 分布式计数器
redis分布式计数器使用redis的string类型可以实现分布式计数器******************************************************使用示例:使用计数器统计对某一路径的访问次数实现方式:创建计数器,拦截器对指定的路径拦截获取相关参数,使用计数器计数 redis 计数器@Componentpubli...原创 2019-10-02 11:02:38 · 1733 阅读 · 0 评论 -
redis 访问限流
redis访问限流利用分布式计数器实现某一路径在一段时间内的访问次数***********************************************使用示例**********************************拦截器@Componentpublic class CustomInterceptor implements...原创 2019-10-02 16:54:21 · 253 阅读 · 0 评论 -
redis 分布式锁
redis分布式锁注意事项:给锁设置超时时间,防止没有设置超时时间进程故障,锁无法释放开后台线程延长超时时间,防止未执行完成,锁超时释放防止其它线程将持有锁的线程的锁释放********************************************使用示例@Componentpublic class RedisLock { @...原创 2019-10-02 19:24:07 · 179 阅读 · 0 评论 -
redis 遍历键
redis遍历键如果键的数量很多,keys遍历会造成后续命令阻塞,可使用scan命令遍历键,详见redis 概述**************************************************相关类RedisCallback:扫描调用的回调接口public interface RedisCallback<T> { ...原创 2019-10-02 19:31:57 · 611 阅读 · 0 评论 -
redis 事务
redis事务事务特性:事务异常不会回滚已经执行的命令****************************************相关接口public interface SessionCallback<T> { @Nullable <K, V> T execute(RedisOperations<K, V&g...原创 2019-10-03 09:25:52 · 246 阅读 · 1 评论 -
redis 流水线
redis流水线作用:批量执行命令,性能较一个个发送命令有很大的提升***********************************使用示例@RestControllerpublic class HelloController { @Autowired private StringRedisTemplate redisTemplate...原创 2019-10-03 09:55:43 · 160 阅读 · 0 评论 -
redis 热门查询
redis热门查询利用zset数据类型对访问路径的次数排序,进行热门查询统计**************************************************使用示例****************************拦截器@Componentpublic class CustomInterceptor implement...原创 2019-10-03 11:21:07 · 333 阅读 · 0 评论 -
redis lua脚本使用说明
redislua脚本作用:使用lua脚本可将多条命令原子执行,可实现比redis事务更为强大的功能***************************************************相关类public class RedisTemplate<K, V> extends RedisAccessor implements RedisO...原创 2019-11-21 09:49:02 · 1742 阅读 · 0 评论 -
redis lua脚本使用示例
redislua脚本使用示例示例:使用redislua脚本模拟高并发扣减库存***************************************service层@Servicepublic class HelloService { private String script="local store=tonumber(redis.ca...原创 2019-11-22 09:25:45 · 371 阅读 · 0 评论 -
redis 阻塞
redis阻塞redis单线程运行,在高并发场景下使用不当易造成阻塞,造成组塞的原因可有多种数据操作不当:如使用keys遍历键解决办法:调整业务结构,避免使用耗时的操作,如可用scan命令遍历键cpu使用率过高:单个redis服务器长时间处理上万条请求解决办法:使用主从架构或者集群架构,分摊单个redis服务器的请求压力持久化fork阻塞:快照或者...原创 2019-11-22 10:10:59 · 275 阅读 · 0 评论 -
redis 缓存并发问题
redis缓存并发问题*************************************缓存穿透现象:缓存层与存储层都没有请求查询的数据,造成每次查询都需要访问存储层,在高并发场景下造成后端数据库负载过大解决办法:缓存空值,将每次查询返回的空值进行缓存,该方法无法应对恶意攻击;使用布隆过滤器,将后端需要缓存的数据存储入布隆过滤器,进入缓存层前先用...原创 2019-11-22 10:30:07 · 275 阅读 · 0 评论 -
redis 布隆过滤器简介
redis布隆过滤器作用:布隆过滤器可以用来判断数据是否在后端存储,可以保证对已经存在的数据是否存在的查询结果为true,但是如果数据不存在,也有可能会判断为存在,可能会发生一定的误判 实现原理:使用一个位数组,位数组的每个节点的值为0或者1;使用多个hash函数对数据求hash(每个hash函数都会计算得出一个hash值,如有3个hash...原创 2019-11-22 10:37:04 · 176 阅读 · 0 评论 -
redis 布隆过滤器使用说明(guava)
redis布隆过滤器***************************************相关jar包<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <versi...原创 2019-11-22 11:07:04 · 1144 阅读 · 0 评论 -
redis 布隆过滤器使用示例(guava)
redis布隆过滤器使用示例(guava)***************************************使用示例*****************************config层@Configurationpublic class DataConfig { @Bean public BloomFilter<...原创 2019-11-22 21:16:02 · 644 阅读 · 0 评论 -
redis 缓存空值
redis缓存空值redis缓存空值可以在一定程度上应对高并发的场景下的缓存穿透**********************************相关类RedisCacheConfigurationpublic class RedisCacheConfiguration { private final Duration ttl; ...原创 2019-11-23 11:24:34 · 4639 阅读 · 0 评论 -
redis redisson 使用说明
redisredisson 使用说明redisson将数据存储在redis中,提供了一系列的分布式对象(Set、Map、List、Queue、Lock、发布/订阅、信号量、布隆过滤器等),提高了开发效率官网:https://github.com/redisson/redisson/wiki******************************************...原创 2019-11-23 16:36:26 · 3979 阅读 · 0 评论 -
redis redisson 集合使用示例(RList、Rset、RMap)
redisredisson集合操作******************************************相关类及接口Rlist:链表操作public interface RList<V> extends List<V>, RExpirable, RListAsync<V>, RSortable<List<...原创 2019-11-24 11:06:47 · 18897 阅读 · 1 评论 -
redis redisson 普通锁示例(RLock)
redisredisson普通锁示例***********************************************相关类及接口RLockpublic interface RLock extends Lock, RLockAsync { String getName(); //加锁的key void lockInterrupti...原创 2019-11-24 17:06:46 · 1990 阅读 · 0 评论 -
redis redisson 读写锁示例(RReadWriteLock)
redisredisson读写锁示例****************************相关类及接口RReadWriteLock:读写锁接口public interface RReadWriteLock extends ReadWriteLock { RLock readLock(); RLock writeLock();}说明:读读...原创 2019-11-24 21:26:43 · 3081 阅读 · 0 评论 -
redis redisson 原子长整形示例(RAtmoicLong)
redisredisson原子长整形作用:原子长整形可以用作计数器********************************************相关接口RAtomicLongpublic interface RAtomicLong extends RExpirable, RAtomicLongAsync { long get(); ...原创 2019-11-25 08:51:15 · 3281 阅读 · 0 评论 -
redis redisson 基数示例(RHyperLogLog)
redis redisson基数示例作用:用于大数据计数,适用于对数据精确度不高的大数据计算场景******************************************相关接口RHyperLogLogpublic interface RHyperLogLog<V> extends RExpirable, RHyperLogLogAs...原创 2019-11-25 09:24:32 · 745 阅读 · 0 评论 -
redis redisson 信号量示例(RSemaphore)
redisredisson信号量示例作用:限制同时访问共享区域的线程数量**********************************************相关接口RSemaphorepublic interface RSemaphore extends RExpirable, RSemaphoreAsync { boolean try...原创 2019-11-25 09:51:20 · 4436 阅读 · 0 评论 -
redis redisson 倒计数器示例(RCountDownLatch)
redisredisson倒计数器器示例作用:等待足够线程执行后,执行后续操作**************************************相关接口RCountDownLatchpublic interface RCountDownLatch extends RObject, RCountDownLatchAsync { bool...原创 2019-11-25 09:59:23 · 1956 阅读 · 0 评论 -
redis redisson 限流器示例(RRateLimiter)
redisredisson限流器示例作用:限制一段时间内对数据的访问数量*******************************************相关接口RRateLimiterpublic interface RRateLimiter extends RRateLimiterAsync, RObject { boolean try...原创 2019-11-25 10:58:47 · 10059 阅读 · 0 评论 -
redis redisson 事务示例(RTransaction)
redisredisson事务示例redisson对一些对象的操作可以使用事务操作,这些对象包括RBucket、Rbuckets,RSet、RSetCache,RMap、RMapCache、RLocalCachedMap************************************相关接口RTransactionpublic interface...原创 2019-11-25 17:12:52 · 5171 阅读 · 0 评论 -
redis redisson 桶示例(RBucket)
redisredisson桶示例作用:桶存储单个对象,提供了原子替换功能,可在高并发场景下进行更新操作***************************************相关接口RBucketpublic interface RBucket<V> extends RExpirable, RBucketAsync<V> {...原创 2019-11-26 09:49:19 · 23818 阅读 · 2 评论 -
redis redisson 定时线程池示例(RScheduledExecutorService)
redisredisson线程池示例作用:redisson提供的定时线程池可在分布式环境下执行定时任务****************************相关类及接口RScheduledExecutorService:定时任务线程池public interface RScheduledExecutorService extends RExecutor...原创 2019-11-26 11:27:42 · 3709 阅读 · 3 评论 -
redis redisson 布隆过滤器(RBloomFilter)
redisredisson布隆过滤器作用:在缓存层前添加布隆过滤器,可以在高并发场景下应对缓存穿透问题****************************相关接口RBloomFilterpublic interface RBloomFilter<T> extends RExpirable { boolean tryInit(lo...原创 2019-11-26 17:31:11 · 7825 阅读 · 0 评论