redis
文章平均质量分 95
LL小蜗牛
这个作者很懒,什么都没留下…
展开
-
redis工具包开发——限流模块(滑动窗口、漏斗、令牌桶)的实现
限流模块主要是三种限流的算法+aop实现@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Import({RedisBloomFilterRegistar.class, RedisLimiterRegistar.class})public @interface EnableRedisAux { Stri...原创 2020-02-04 23:46:52 · 3989 阅读 · 0 评论 -
redis工具包开发——redis布隆过滤器实现
布隆过滤器实现其实核心也是模仿guava的布隆过滤器实现,只是操作字节数组的载体改为redis的bitmap结构,在该工具包的布隆过滤器开发里面涉及到比较核心的点有1.guava里的布隆过滤器理解2.如何接入spring3.redis 布隆过滤器实现先看第一部分布隆过滤器他能够判断某个对象肯定不存在或者可能存在,核心的思想是,对一个对象进行不同的hash函数处理所得到的值标志到...原创 2020-01-28 17:28:28 · 1461 阅读 · 0 评论 -
redis工具包开发——功能概览
这篇文章主要是介绍功能点,先看看这个工具包有什么可以用的,目前主要有两个模块——布隆过滤器、基于注解限流。基于redisTemplate用法:这里用maven作为工具管理包演示,添加jitpack源、添加下面的依赖 <repositories> <repository> <id>jitpack.io&l...原创 2020-01-11 02:51:46 · 931 阅读 · 6 评论 -
redis的数据类型
string:实现类似于java的ArrayList,当串大小小于1MB时候,采用加倍扩容,当大于1MB时,则每次扩容只会多扩容1MB的空间,最大长度为512MB相关指令:set key value get key mset key1 value1 key2 value2...keyn valuen mget key1..keyn setnx key value等list:实现类似...原创 2019-12-21 01:34:56 · 659 阅读 · 0 评论 -
redis分布式锁&可重入锁&续约、缓存注解、同步过程
为什么要用分布式锁?假设一个场景,一个服务里面提供了操作某个变量的接口,在单机的时候,可以使用synchronize或者lock进行加锁防止并发问题,但是假如这个服务有3个实例,每个实例可以操作相应的共享资源,这时候三个请求恰好都分发到不同的实例上去,结果是变量不知道被改成什么样了,也许每个服务的实例里的变量都不一样,那么怎么控制这个变量在面对多个请求时所带来的并发问题呢,这时候需要一个...原创 2019-07-21 11:09:30 · 1529 阅读 · 0 评论 -
redis5.0Stream命令用法及jedis简单例子
关于stream的通俗易懂的介绍可以看老钱大神的掘金小册,我最近也买了他的书看,写的挺棒的,如果更详细描述建议看官方文档,这里就简单的描述下stream。stream是5.0之后的数据结构,他是一个支持多播的可持久化的消息队列,每个Stream有多个消费数组,每个消费组有last_delivered_id这个标识当前消费组消费到哪条消息,消费组要用xgroup create 进行创建,虽然一...原创 2019-06-24 21:12:27 · 8288 阅读 · 4 评论 -
springboot+redisTemplate实现消息队列(pub/sub,list,监听键过期)
redis实现方式主流的有两种,一种是lpush rpop,一种是pub/sub机制,下面来做个演示的例子大概的分为两个角色,生产者和消费者,然后大概结构是这样的:主要的角色就是维护主题和消费者关系的一个表,生产者、消费者、监听键过期机制,还有定时任务,这次写出来的例子只是支持滞后消费的重投,超前消费的情况没有得到很好解决。首先是生产者,生产者主要是根据主题发布消息packa...原创 2019-06-23 01:30:15 · 21864 阅读 · 2 评论 -
redis从大量数据查找符合某些符合条件的key
查找符合某个条件比如前缀为cart_的key,这里我预先插入了一万条数据,在正式开始之前先说一下keys 指令的匹配规则:keys pattern里面有3个通配符 分别是 *,?,[]*:通配多个任意字符?:通配单个字符[]:通配数组内的某个字符这些通配都可以组合使用,比如我插入了四个键keys *l* //代表含有l的键// "cdf_xl"、"abc_lele"...原创 2019-06-22 10:55:36 · 22408 阅读 · 1 评论 -
springboot整合redist-client(jedis)
redis是一个高性能的key-value缓存型数据库,提供多种数据结构的存储,也支持主从配置,并且读写性能极高,也括发布与订阅(通知)等等的特性,功能强大。可以用来存放一些有限期的有效信息。这个是在windows上面安装的redis,解压安装后可以看到有conf文件,这个conf文件的详细介绍可以参考这篇文章,我这里用过的是设置密码和在后台执行的守护进程。在cmd窗口下,cd到redis...原创 2018-09-28 22:28:39 · 1161 阅读 · 0 评论 -
redis+springboot集成-data整合
首先下载redis,及其可视化工具,这里是window本机的运行方式,如果是linux这些云服务器的话,则需要改一下配置文件如设置后台运行、支持远程访问等等,举个例子下载并解压: wget http://download.redis.io/releases/redis-4.0.4.tar.gz tar -zxvf redis-4.0.2.tar.gz更改配置文件redis.conf...原创 2019-06-22 00:22:45 · 743 阅读 · 0 评论