上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 23 下一页
摘要: Redis本质上一个存储系统。所有的存储系统在数据量过大的情况下都会面临存储瓶颈,包括 MySQL, RabbitMQ等等。 这里我们解决要两个问题: 首先,作为一个内存的KV系统,Redis服务肯定不是无限制地使用内存,应该设置一个上限(max_memory)。 第二个,数据应该有过期属性, 这样 阅读全文
posted @ 2021-02-22 17:50 snail灬 阅读(54) 评论(0) 推荐(0)
摘要: QA:Redis到底有多快? 使用redis自带的benchmark脚本测试: cd /usr/local/soft/redis-6.0.9/src redis-benchmark -t set,lpush -n 100000 -q 结果: SET: 136239.78 requests per s 阅读全文
posted @ 2021-01-30 01:59 snail灬 阅读(72) 评论(0) 推荐(0)
摘要: Lua是一种轻量级脚本语言,它是用C语言编写的,跟数据的存储过程有点类似。 使用Lua脚本来执行Redis命令的好处: 1、 一次发送多个命令,减少网络开销。 2、 Redis会将整个脚本作为一个整体执行,不会被其他请求打断,保持原子性。 3、 对于复杂的组合命令,我们可以放在文件中,可以实现命令复 阅读全文
posted @ 2021-01-22 15:46 snail灬 阅读(1323) 评论(0) 推荐(0)
摘要: 发布订阅模式 列表的局限 通过队列的rpush和blpop可以实现消息队列(队尾进队头出),没有任何元素可以弹出的时候,连接会被阻塞。 但是基于list实现的消息队列,不支持一对多的消息分发,相当于只有一个消费者。 如果要实现一对多的消息分发,怎么办? 可以通过消息发布者(发布者)向指定的频道发布消 阅读全文
posted @ 2021-01-21 00:10 snail灬 阅读(73) 评论(0) 推荐(0)
摘要: 其他数据结构 BitMaps Bitmaps 是在字符串类型上面定义的位操作。一个字节由8个二进制位组成。 set k1 a 获取value在offset处的值(a对应的ASCII码是97,转换为二进制数据是01100001) getbit k1 0 修改二进制数据 setbit k1 6 1 se 阅读全文
posted @ 2021-01-20 17:34 snail灬 阅读(66) 评论(0) 推荐(0)
摘要: List列表 存储类型 存储有序的字符串(从左到右),元素可以重复。最大存储数量2^32-1(40亿左右)。 操作命令 lpush queue a lpush queue b c lpush queue d e lpop queue lpop queue lindex queue 0 lrange 阅读全文
posted @ 2021-01-17 02:10 snail灬 阅读(86) 评论(0) 推荐(0)
摘要: Hash哈希 存储类型 hash用来存储多个无序的键值对。最大存储数量2^32-1(40亿左右) 注意:前面我们说Redis所有的KV本身就是键值对,用dictEntry实现的,叫做外层的哈希、现在我们分析的是内层哈希。 同样是存储字符串,Hash与String的主要区别? 1.把所有相关的值聚集集 阅读全文
posted @ 2021-01-08 02:58 snail灬 阅读(45) 评论(0) 推荐(0)
摘要: Redis Redis(REmote Dictionary Service) 远程字典服务,最开始 Redis 只支持 List。 Redis的特性 对于Redis,我们大部分时候的认识是一个缓存的组件,只是在很多互联网应用里面,他作为缓存发挥了最大的作用。 要了解特性之前,需要先回答以下问题: 1 阅读全文
posted @ 2021-01-06 19:19 snail灬 阅读(73) 评论(0) 推荐(0)
摘要: org.apache.dubbo.registry.integration.RegistryProtocol#export 服务在本地发布完成,那么接下去要进入服务的注册阶段: final Registry registry = getRegistry(originInvoker); final U 阅读全文
posted @ 2020-12-30 12:28 snail灬 阅读(231) 评论(0) 推荐(0)
摘要: 通过上面的分析,我们知道了服务得发布入口在 DubboBootstrap#start: public DubboBootstrap start() { // 原子操作,避免并发问题 if (started.compareAndSet(false, true)) { ready.set(false); 阅读全文
posted @ 2020-12-29 02:06 snail灬 阅读(116) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 23 下一页