Redis
文章平均质量分 59
Splaying
Studying
展开
-
redis数据类型bitmap(七)
1、数据结构bitmap:位图,是由01组成的 bit 串,很显然这种数据结构是非常节省存储空间的。按照存储空间来算1个byte有8个bit位,其中每一个比特位都可以使用0 或者 1来表示某种状态!redis中bitmap最大的bit数量 = 2^32-1 bit;也就是说单个bitmap的key最大有512MB。bitmap在c++语言中有一个孪生兄弟bitset,一般用于做二进制压缩(节约空间),可以简单的认为bitmap就是一个由01构成的数组,数组最大长度是int大小。2原创 2021-09-02 16:10:33 · 946 阅读 · 0 评论 -
redis数据类型zset集合(六)
1、数据结构zset是redis提供的一个非常特殊的数据结构,一方面它是一个set集合(没有重复元素),另一方面它是一个有序的,类似于C++的Map和Java的TreeMap。内部的元素是以value : score的形式进行组织,每个value值对应一个score分数(double类型);然后根据score进行排序!value是的唯一,score是可以不唯一。而zset的底层数据结构有两种:skiplist跳表、hash表,为了兼顾性能做优化。skiplist跳表:首先跳表是一个有原创 2021-08-08 19:40:29 · 672 阅读 · 0 评论 -
redis数据类型hash表(五)
1、数据结构redis中哈希表是一个string类型的field:value 键值对的集合。非常适合存储对象。类似与Java里面的HashMap<String, Object>哈希类型对应的数据结构是两种:ziplist压缩列表、hashtable哈希表。当field : value个数较少时采用ziplist,否则使用hashtable。2、基本命令2.1、设置一些键值对语法:hset/hmset key field1 value1 field2 value2原创 2021-08-07 17:39:22 · 103 阅读 · 0 评论 -
redis数据类型set集合(四)
1、数据结构redis中的set是一个非重无序的集合,对元素自动去重且无序。底层实现是一个哈希表,能够做到快速的插入、删除、查找。时间复杂度:单次删除、查找、插入都是O(1),非常理想的时间复杂度;但是空间复杂度也许不会太好(典型的空间换时间)可以看一下C++的标准头文件库中的unordered_set或者Java的HashSet类。当集合中没有值时,那么键也删除了!2、基本命令所有的命令都很容易记住,基本上都是以s开头表示set、然后添加就add、遍历member原创 2021-07-26 19:22:32 · 331 阅读 · 0 评论 -
redis数据类型List列表(三)
1、基本使用1.1、头插法建立List链表头插法:每次都将新增元素从头部插入,越先插入的元素越靠后。单次时间复杂度:O(1)整体时间复杂度:O(n)语法:lpush key value1 value2...lpush k1 v1 v2 v3 v4结果:"v4" "v3" "v2" "v1"1.2、尾插法建立List链表尾插法0:每次都将新增元素从尾部插入,越先插入的元素越靠前。单次时间复杂度:O(1)整体时间复杂度:O(n)语法:rpush key value1 value2.原创 2021-07-25 20:30:17 · 132 阅读 · 2 评论 -
redis数据类型string字符串(二)
1、基本使用1. 设置一个键值对set k1 v100 2. 设置一个键值对(当这个键不存在时)setnx k1 100 失败setnx k2 100 成功3. 获取指定key的值get k14. 将字符串xxx添加到key值的末尾append k1 xxx5. 获取key的长度strlen k16. 将k2的值加1(前提是value中只有数字字符)incr k27. 将k2的值减1(前提是value中只有数原创 2021-07-24 19:08:54 · 116 阅读 · 2 评论 -
redis基本命令(一)
1. redis-server /usr/local/redis/redis.conf 后台启动服务2. redis-cli 查看运行ip和port3. redis-cli 下输入ping 显示pong表示现在正常状态。4. redis-cli 下输入shutdown 关闭5. ps -ef | grep redis 查看运行的信息6. kill -s 9原创 2021-07-18 22:22:29 · 142 阅读 · 0 评论