Redis 五大数据类型(总结表)
Others
2021-11-19 14:06:17
views: null
前言
- redis 提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合)
- 理解每种数据类型的特点对于redis的开发和运维非常重要
一、String-字符串对象
命令 |
应用 |
描述 |
EXISTE |
EXISTS mykey |
判断该键是否存在,存在返回1,否则返回0 |
APPEND |
APPEND mykey “hello” |
若该键并不存在,则创建key,存在则将内容追加,append命令返回当前Value的长度 |
GET |
GET mykey |
通过get命令获取该键,以判断append的结果 |
SET |
SET mykey “this is mykey” |
通过set命令为键设置新值,并覆盖原有值,若为字符串需要加双引号或单引号 |
STRLEN |
STRLEN mykey |
获取指定Key的字符长度,等效于C库中strlen函数 |
INCR |
INCR mykey |
该Key的值递增1 |
DECR |
DECR mykey |
该Key的值递减1 |
DEL |
DEL mykey |
删除已有键 |
INCRBY |
INCRBY mykey 10 |
指定增加的整数 |
DECRBY |
DECRBY mykey 10 |
指定减少的整数 |
GETSET |
GETSET mycounter 0 |
在设置新值得同时,并返回原有值,这两个操作原子性的同时完成 |
SETEX |
SETEX mykey 10 “hello world!” |
设置指定Key的过期时间为10秒 |
TTL |
TTL mykey |
通过ttl命令查看一下指定Key的剩余存活时间(秒数),0表示已经过期,-1(-2)表示永不过期 |
SETNX |
SETNX mykey “hello” |
该键并不存在,因此该命令执行成功,存在则不执行命令 |
SETRANGE |
SETRANGE mykey 6 dd |
从第六个字节开始替换2个字节 |
GETRANGE |
GETRANGE mykey 1 2 |
截取该键的Value,从第一个字节开始,到第二个字节结束 |
MSET |
MSET key1 “hello” key2 “world” |
批量设置了key1和key2两个键,如果有旧值会被新值覆盖 |
MGET |
MGET key1 key2 |
批量获取了key1和key2两个键的值 |
MSETNX |
MSETNX key2 “hello” key3 “world” |
批量设置了key2和key3两个键,但是key2已经存在,所以该命令执行失败并返回0 |
二、List-列表对象
命令 |
应用 |
描述 |
LPUSH |
LPUSH cloud a b c d |
创建该键及与其关联的List,之后在将参数中的values从左到右依次插入到表头 |
LPUSHX |
LPUSHX cloud e |
仅当key存在时,将value值插入表头 |
LRANGE |
LRANGE cloud 0 -1 |
返回列表中指定区间内的元素,0表示第一个元素,1表示第二个元素,-1表示最后一个元素 |
LPOP |
LPOP cloud |
移除并返回第一个元素,从头开始 |
LIEN |
LLEN cloud |
查看列表中元素个数 |
LREM |
LREM cloud 2 b |
从头部(left)向尾部(right)变量链表,删除2个值等于b的元素,返回值为实际删除的数量 |
LSET |
LSET cloud 1 b |
将索引值为1的元素值设置为新值b |
LINDEX |
LINDEX cloud 1 |
获取索引值为1的元素值 |
LTRIM |
LTRIM cloud 0 2 |
仅保留索引值0到2的元素 |
LINSERT |
LINSERT could before/after a 0 |
#在元素a之前/之后插入新元素0 |
RPUSH |
RPUSH key1 a b c d e |
将值从左往右依次插入到表尾 |
RPUSHX |
RPUSHX key2 f |
指定键存在时执行,否则不执行 |
RPOP |
RPOP key1 |
移除并返回键的第一个元素,从尾开始 |
RPOPLPUSH |
RPOPLPUSH key1 key2 |
将键1尾部元素xxx弹出,同时再插入到键2的头部(原子性的完成这两步操作) |
三、Hash-哈希对象
命令 |
应用 |
描述 |
HEST |
HSET hash field1 a field2 b field3 c |
给hash键创建三个字段及对应字段值 |
HGET |
HGET hash field1 |
获取hash键,字段为field1的值 |
HDEL |
HDEL hash field2 |
删除hash键,字段为field2的值,成功返回1 |
HEXISTS |
HEXISTS hash field2 |
判断hash键中字段为field2的值是否存在,存在返回1 |
HLEN |
HLEN hash |
获取hash键的字段数量 |
HSETNX |
HSETNX hash1 field3 z |
给hash1键添加新字段field3,值为z,是否执行基于此字段是否存在,不管键是否存在,返回1表示执行成功 |
HINCRBY |
HINCRBY hash3 field1 1 |
给hash3键的field1字段值加1 |
HGETALL |
HGETALL hash1 |
返回hash1键的所有字段及其值,是逐对列出的 |
HKEYS |
HKEYS hash1 |
仅获取hash1键中所有字段名 |
HVALS |
HVALS hash1 |
仅获取hash1键中所有字段值 |
HMSET |
HMSET hash4 field1 hello field2 world |
批量为xxx键创建字段和赋值 |
HMGET |
HMGET hash4 field1 field2 |
获取指定多个字段值 |
四、Set-集合对象
命令 |
应用 |
描述 |
SADD |
SADD myset a b c d e |
将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略,假如集合key不存在,则创建一个只包含添加的元素作成员的集合 |
SMEMBERS |
SMEMBERS myset |
查看插入的结果,输出的顺序与插入顺序无关 |
SCARD |
SCARD myset |
获取集合中成员的数量 |
SISMEMBER |
SISMEMBER myset d |
判断键中成员是否存在,返回0表示不存在,1表示存在 |
SPOP |
SPOP myset |
随机的移除并返回键中的某一成员 |
SREM |
SREM myset a b e |
从键中移出a/b/e,并返回移除成员个数,a/e刚已被移除了,所以返回1 |
SRANDMEMBER |
SRANDMEMBER myset |
该命令随机的返回某一成员 |
SMOVE |
SMOVE myset myset1 c |
将键myset的c成员移到键myset1,成功返回1,失败返回0 |
五、Zset-有序集合对象
命令 |
应用 |
描述 |
ZADD |
ZADD zset 1 a 2 b 3 c 4 d 5 e |
将一个或多个成员元素及其分数值加入到有序集当中 |
ZRANK |
ZRANGE zset 0 -1 (withscores) |
查看所有成员(及对应分数) |
ZCARD |
ZCARD zset |
获取键中成员的数量 |
ZRANK |
ZRANK zset e |
获取成员的位置索引值 |
ZCOUNT |
ZCOUNT zset 2 4 |
获取分数满足表达式[x <= score <= x]的成员的数量 |
ZREM |
ZREM zset a b |
删除成员,返回实际删除成员的数量 |
ZSCORE |
ZSCORE zset d |
获取成员的分数 |
ZINCRBY |
ZINCRBY zset 2 a |
若成员不存在,则zincrby命令将添加该成员分数为2(并假设其初始分数为0) |
ZRANGEBYSCORE |
ZRANGEBYSCORE zset 2 4 |
获取分数满足表达式[x <= score <= x]的成员,即 2 3 4 |
ZREMRRANGEBYSCORE |
ZREMRANGEBYSCORE zset 1 3(ZRANGEBYSCORE zset -inf +inf limit 2 3) |
删除分数满足表达式[x <= score <= x]的成员,并返回实际删除的数量(-inf和+inf表示第一个和最后一个成员,limit 2 3表示索引为2开始的三个成员) |
ZREMRANGEBYRANK |
ZREMRANGEBYRANK zset 1 2 |
删除位置索引满足表达式[x <= rank <= x]的成员,即(0d、1e,删除1和2索引值,结果只删了1e) |
ZREVRANGE |
ZREVRANGE zset 0 -1 |
以位置索引从高到低的方式获取并返回此区间内的成员 |
ZREVRANGEBYSCORE |
ZREVRANGEBYSCORE zset 5 3 |
获取分数满足表达式[x >= score >= x]的成员,并以从高到底的顺序输出 |
ZREVRANK |
ZREVRANK zset a |
获取成员索引,该用法是是反向索引排序 |
REVRANKzset a获取成员索引,该用法是是反向索引排序 |
zset a |
获取成员索引,该用法是是反向索引排序 |
Origin blog.csdn.net/Arlssaze/article/details/121273621