Redis
文章平均质量分 77
一条粉肠与蛋散
我写的代码,像诗一样优雅
展开
-
原理Redis-SkipList
ZipList和QuickList的共同特点是节省内存。在遍历元素时,只能从头到尾或从尾到头,所以在查找头尾元素性能还是不错的,但是中间元素查询的性能就会差。原创 2023-11-23 03:40:06 · 528 阅读 · 0 评论 -
原理Redis-QuickList
*问题1:**ZipList虽然节省内存,但申请内存必须是连续空间,如果内存占用较多,申请内存效率很低。**问题3:**数据拆分后比较分散,不方便管理和查找,这多个ZipList如何建立联系?除了控制ZipList的大小,QuickList还可以对节点的ZipList做压缩。**问题2:**但是我们要存储大量数据,超出了ZipList最佳的上限该怎么办?如果值为正,则代表ZipList的允许的entry个数的最大值。,所以首尾是不压缩的。原创 2023-11-23 03:39:03 · 1055 阅读 · 0 评论 -
原理Redis-ZipList
1.压缩列表的可以看做一种连续内存空间的"双向链表"2.列表的节点之间不是通过指针连接,而是记录上一节点和本节点长度来寻址,内存占用较低3.如果列表数据过多,导致链表过长,可能影响查询性能4.增或删较大数据时有可能发生连续更新问题。原创 2023-11-21 04:08:13 · 562 阅读 · 0 评论 -
原理Redis-Dict字典
类似java的HashTable,底层是数组加链表来解决哈希冲突Dict包含两个哈希表,ht[0]平常用,ht[1]用来rehash当LoadFactor大于5或者LoadFactor大于1并且没有子进程任务时,Dict扩容当LoadFactor小于0.1时,Dict收缩扩容大小为第一个大于等于used + 1的2^n收缩大小为第一个大于等于used 的2^nDict采用渐进式rehash,每次访问Dict时执行一次rehash。原创 2023-11-21 04:06:36 · 707 阅读 · 0 评论 -
原理Redis-IntSet
4.最后,将inset的encoding属性改为INTSET_ENC_INT32,将length属性改为4。IntSet是Redis中set集合的一种实现方式,基于整数数组来实现,并且具备长度可变、有序等特征。的范围,intset会自动升级编码方式到合适的大小。2.倒序依次将数组中的元素拷贝到扩容后的正确位置。,并按照新的编码方式及元素个数扩容数组。3.将待添加的元素放入数组末尾。原创 2023-11-20 05:04:31 · 688 阅读 · 0 评论 -
原理Redis-动态字符串SDS
Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。那么Redis将在底层创建两个SDS,其中一个是包含“name”的SDS,另一个是包含“dcy”的SDS。Redis构建了一种新的字符串结构,称为。原创 2023-11-20 05:03:28 · 794 阅读 · 0 评论 -
基础Redis-Java客户端操作介绍
Jedis以Redis命令作为方法名称,学习成本低,简单实用。但是Jedis实例是线程不安全的,多线程环境下需要基于连接池来使用lettureLettuce是基于Netty实现的,支持同步、异步和响应式编程方式,并且是线程安全的。支持Redis的哨兵模式、集群模式和管道模式。RedissonRedisson是一个基于Redis实现的分布式、可伸缩的Java数据结构集合。包含了诸如Map、Queue、Lock、 Semaphore、AtomicLong等强大功能。原创 2023-11-05 18:46:09 · 190 阅读 · 0 评论 -
基础Redis-结构与命令
Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样:通用指令是部分数据类型的,都可以使用的指令,常见的有:通过help [command] 可以查看一个命令的具体用法,例如:Redis的key允许有多个单词形成层级结构,多个单词之间用’:'隔开,格式如下:例如我们的项目名称叫 dcyredis,有user和product两种不同类型的数据,可以这样定义key:如果Value是一个Java对象,例如一个User对象,则可以将对象序列化为JSON字符串后存储原创 2023-11-05 18:41:44 · 283 阅读 · 0 评论 -
SpringBoot-Redis数据类型操作
Spring Data Redis中提供了一个高度封装的类:RedisTemplate,将同一类型操作封装为operation接口。原创 2023-06-02 21:07:54 · 63 阅读 · 0 评论 -
Redis-介绍与常用与常用命令
Redis存储是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型- 字符串 string (常用)- 哈希 hash (适合存储对象)- 列表 list (按照插入顺序排序,可以有重复元素)- 集合 set (无序集合,没有重复元素)- 有序集合 sorted set (有序集合,没有重复元素)原创 2023-05-31 14:03:26 · 52 阅读 · 0 评论