莱芜正规的网站建设,为什么要做企业网站,机票网站开发,公司网站界面如何设计目录
Redis key的命令
1、redis字符串#xff08;String#xff09;
2、redis列表(List)
3、redis哈希表(Hash)
4、redis集合(Set)
5、redis有序集合(ZSet) Redis 命令网站#xff1a;redis中文文档
Redis key的命令
命令说明示例keys *查看当前库所有的keykeys *…目录
Redis key的命令
1、redis字符串String
2、redis列表(List)
3、redis哈希表(Hash)
4、redis集合(Set)
5、redis有序集合(ZSet) Redis 命令网站redis中文文档
Redis key的命令
命令说明示例keys *查看当前库所有的keykeys *exists key判断某个key是否存在exists k1type key查看你的key是什么类型type k1del key 删除指定key的数据 del k3unlink key非阻塞删除仅仅将keys从keyspace元数据中删除真正的删除会在后续异步中操作unlink k2ttl key查看还有多少秒过期-1表示永不过期-2表示已过期ttl k1expire key 秒钟为给定的key设置过期时间EXPIRE k1 5move key dbindex 【0-15】将当前数据库的kev移动到给定的数据库db中move k2 2select dbindex切换数据库【0-15】 默认为 0select 2dbsize查看当前数据库key的数量DBSIZEflushdb清空当前库flushdbflushall通杀全部库flushall 示例 127.0.0.1:6379 set k1 v1
OK
127.0.0.1:6379 set k2 v2
OK
127.0.0.1:6379 set k3 v3
OK
127.0.0.1:6379 keys * #查看当前库所有的key
1) k3
2) k2
3) k1
127.0.0.1:6379 exists k1 #判断某个key是否存在
(integer) 1
127.0.0.1:6379 exists k4
(integer) 0
127.0.0.1:6379 type k1 #查看你的key是什么类型
string
127.0.0.1:6379 del k3 #删除指定key的数据
(integer) 1
127.0.0.1:6379 key *
(error) ERR unknown command key, with args beginning with: *
127.0.0.1:6379 keys *
1) k2
2) k1
127.0.0.1:6379 unlink k2 #非阻塞删除
(integer) 1
127.0.0.1:6379 keys *
1) k1
127.0.0.1:6379 ttl k1 #查看还有多少秒过期
(integer) -1
127.0.0.1:6379 EXPIRE k1 5 #为给定的key设置过期时间
(integer) 1
127.0.0.1:6379 ttl k1
(integer) 3
127.0.0.1:6379 ttl k1
(integer) 1
127.0.0.1:6379 ttl k1
(integer) -2
127.0.0.1:6379 keys *
(empty array)
127.0.0.1:6379 set k1 v1
OK
127.0.0.1:6379 set k2 v2
OK
127.0.0.1:6379 keys *
1) k2
2) k1
127.0.0.1:6379 move k2 2 #将当前数据库的kev移动到给定的数据库db中
(integer) 1
127.0.0.1:6379 keys *
1) k1
127.0.0.1:6379 select 2 #切换数据库
OK
127.0.0.1:6379[2] keys *
1) k2
127.0.0.1:6379[2] select 0
OK
127.0.0.1:6379 DBSIZE #查看当前数据库key的数量
(integer) 1
127.0.0.1:6379 flushdb #清空当前库
OK
127.0.0.1:6379 flushdb
OK
127.0.0.1:6379 DBSIZE
(integer) 0注意命令不区分大小写而key是区分大小写的 127.0.0.1:6379 set l hello
OK
127.0.0.1:6379 set L world
OK
127.0.0.1:6379 get l
hello
127.0.0.1:6379 get L
world永远的帮助命令help 类型
Redis 10大数据类型
1、redis字符串String
命令描述set设置指定 key 的值get获取指定 key 的值GETRANGE获取指定范围的值GETSET将给定 key 的值设为 value 并返回 key 的旧值 ( old value )GETBIT对 key 所储存的字符串值获取指定偏移量上的位 ( bit )MGET获取所有(一个或多个)给定 key 的值SETBIT对 key 所储存的字符串值设置或清除指定偏移量上的位(bit)SETEX设置 key 的值为 value 同时将过期时间设为 secondsSETNX只有在 key 不存在时设置 key 的值SETRANGE覆盖原有的值STRLEN返回 key 所储存的字符串值的长度MSET同时设置一个或多个 key-value 对MSETNX同时设置一个或多个 key-value 对PSETEX以毫秒为单位设置 key 的生存时间INCR将 key 中储存的数字值增一INCRBY将 key 所储存的值加上给定的增量值 ( increment )INCRBYFLOAT将 key 所储存的值加上给定的浮点增量值 ( increment )DECR将 key 中储存的数字值减一DECRBY将 key 所储存的值减去给定的减量值 ( decrement )APPEND将 value 追加到 key 原来的值的末尾
set命令的附加选项 EX seconds:以秒为单位设置过期时间 PX milliseconds:以毫秒为单位设置过期时间 EXAT timestamp:设置以秒为单位的UNIX时间戳所对应的时间为过期时间 PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间 NX :键不存在的时候设置键值 XX :键存在的时候设置键值 KEEPTTL:保留设置前指定键的生存时间 GET:返回指定键原本的值若键不存在时返回nil 字符串String应用场景存储用户会话信息、缓存数据、计数器等。字符串类型是最常用的数据类型在Redis中可以用于存储任何类型的数据包括文本、序列化的对象等
127.0.0.1:6379 set k1 v1
OK
127.0.0.1:6379 get k1
v1
127.0.0.1:6379 set k2 v2 ex 3 #以秒为单位设置过期时间
OK
127.0.0.1:6379 ttl k2 #查看过期时间
(integer) -2
127.0.0.1:6379 set k2 v2 ex 3
OK
127.0.0.1:6379 ttl k2
(integer) 2
127.0.0.1:6379 ttl k2
(integer) -2
127.0.0.1:6379 set k2 px 5000
(error) ERR syntax error
127.0.0.1:6379 set k2 v2 px 5000 #以毫秒为单位设置过期时间
OK
127.0.0.1:6379 ttl k2
(integer) 3
127.0.0.1:6379 ttl k2
(integer) 1
127.0.0.1:6379 ttl k2
(integer) -2
127.0.0.1:6379 set k2 v2 nx #键不存在的时候设置键值
OK
127.0.0.1:6379 set k2 v2 nx
(nil)
127.0.0.1:6379 set k2 v3 xx #键存在的时候设置键值
OK
127.0.0.1:6379 set k2 v3 xx
OK
127.0.0.1:6379 get k2
v3
127.0.0.1:6379 del k1 k2
(integer) 2
127.0.0.1:6379 set k1 v1 ex 30
OK
127.0.0.1:6379 ttl k1
(integer) 27
127.0.0.1:6379 set k1 x1
OK
127.0.0.1:6379 ttl k1
(integer) -1
127.0.0.1:6379 set k1 v1 ex 30
OK
127.0.0.1:6379 ttl k1
(integer) 28
127.0.0.1:6379 set k1 v1 keepttl #保留设置前指定键的生存时间
OK
127.0.0.1:6379 ttl k1
(integer) 23
127.0.0.1:6379 keys *
(empty array)
127.0.0.1:6379 mset k1 v1 k2 v2 k3 v3 #同时设置一个或多个 key-value 对
OK
127.0.0.1:6379 mget k1 k2 k3 #获取所有(一个或多个)给定 key 的值
1) v1
2) v2
3) v3
127.0.0.1:6379 msetnx k1 v1 k4 v4 #同时设置一个或多个 key-value 对当k存在时失败
(integer) 0
127.0.0.1:6379 msetnx k4 v4
(integer) 1
127.0.0.1:6379 set k1 123456
OK
127.0.0.1:6379 GETRANGE k1 0 3 #获取指定范围的值
1234
127.0.0.1:6379 SETRANGE k1 2 8 #覆盖原有的值
(integer) 6
127.0.0.1:6379 get k1
128456
127.0.0.1:6379 set k1 1
OK
127.0.0.1:6379 incr k1 #将 key 中储存的数字值增一
(integer) 2
127.0.0.1:6379 incr k1
(integer) 3
127.0.0.1:6379 get k1
3
127.0.0.1:6379 incrby k1 2 #将 key 所储存的值加上给定的增量值
(integer) 5
127.0.0.1:6379 get k1
5
127.0.0.1:6379 decr k1 #将 key 中储存的数字值减一
(integer) 4
127.0.0.1:6379 decrby k1 2 #将 key 所储存的值减去给定的减量值
(integer) 2
127.0.0.1:6379 set k1 asd
OK
127.0.0.1:6379 STRLEN k1 #返回 key 所储存的字符串值的长度
(integer) 3
127.0.0.1:6379 APPEND k1 asd #追加字符串
(integer) 6
127.0.0.1:6379 get k1
asdasd
127.0.0.1:6379 setnx k1 v1 #只有在 key 不存在时设置 key 的值
(integer) 0
127.0.0.1:6379 getset k1 v1 #将给定 key 的值设为 value 并返回 key 的旧值
asdasd
127.0.0.1:6379 get k1
v12、redis列表(List)
命令描述BLPOP移出并获取列表的第一个元素BRPOP移出并获取列表的最后一个元素BRPOPLPUSH从列表中弹出一个值并将该值插入到另外一个列表中并返回它LINDEX通过索引获取列表中的元素LINSERT在列表的元素前或者后插入元素LLEN获取列表长度LPOP移出并获取列表的第一个元素LPUSH将一个或多个值插入到列表头部LPUSHX将一个值插入到已存在的列表头部LRANGE获取列表指定范围内的元素LREM移除列表元素LSET通过索引设置列表元素的值LTRIM对一个列表进行修剪(trim)RPOP移除并获取列表最后一个元素RPOPLPUSH移除列表的最后一个元素并将该元素添加到另一个列表并返回RPUSH在列表中添加一个或多个值RPUSHX为已存在的列表添加值
列表List应用场景标签标记、唯一值存储、共同好友等。集合类型适合存储不重复的成员可以进行交集、并集、差集等集合运算
127.0.0.1:6379 lpush list1 1 2 3 4 5 #将一个或多个值插入到列表从左边添加
(integer) 5
127.0.0.1:6379 RPUSH list2 6 7 8 9 10 #将一个或多个值插入到列表从右边添加
(integer) 5
127.0.0.1:6379 lrange list1 0 -1 #获取列表指定范围内的元素
1) 5
2) 4
3) 3
4) 2
5) 1
127.0.0.1:6379 lrange list2 0 -1
1) 6
2) 7
3) 8
4) 9
5) 10
127.0.0.1:6379 lpop list1 #移出并获取列表的第一个元素
5
127.0.0.1:6379 lrange list1 0 -1
1) 4
2) 3
3) 2
4) 1
127.0.0.1:6379 rpop list1 #移除并获取列表最后一个元素
1
127.0.0.1:6379 lrange list1 0 -1
1) 4
2) 3
3) 2
127.0.0.1:6379 lindex list1 0 #通过索引获取列表中的元素
4
127.0.0.1:6379 lindex list1 1
3
127.0.0.1:6379 llen list1 # #获取列表长度
(integer) 3
127.0.0.1:6379 LPUSH list1 1 1 1 2 2 2 3 3 3
(integer) 12
127.0.0.1:6379 lrange list1 0 -11) 32) 33) 34) 25) 26) 27) 18) 19) 1
10) 4
11) 3
12) 2
127.0.0.1:6379 lrem list1 3 1 #移除列表元素3移除元素的个数1要移除的元素
(integer) 3
127.0.0.1:6379 lrange list1 0 -1
1) 3
2) 3
3) 3
4) 2
5) 2
6) 2
7) 4
8) 3
9) 2
127.0.0.1:6379 ltrim list1 5 8 #对一个列表进行修剪截取值
OK
127.0.0.1:6379 lrange list1 0 -1
1) 2
2) 4
3) 3
4) 2
127.0.0.1:6379 lrange list2 0 -1
1) 6
2) 7
3) 8
4) 9
5) 10
127.0.0.1:6379 rpoplpush list1 list2 #移除列表的最后一个元素并将该元素添加到另一个列表
2
127.0.0.1:6379 lrange list1 0 -1
1) 2
2) 4
3) 3
127.0.0.1:6379 lrange list2 0 -1
1) 2
2) 6
3) 7
4) 8
5) 9
6) 10
127.0.0.1:6379 lset list1 0 redis #通过索引设置列表元素的值
OK
127.0.0.1:6379 lrange list1 0 -1
1) redis
2) 4
3) 3
127.0.0.1:6379 linsert list1 before redis java #在列表的元素前或者后插入元素
(integer) 4
127.0.0.1:6379 lrange list1 0 -1
1) java
2) redis
3) 4
4) 33、redis哈希表(Hash)
命令说明HDEL用于删除哈希表中一个或多个字段HEXISTS用于判断哈希表中字段是否存在HGET获取存储在哈希表中指定字段的值HGETALL获取在哈希表中指定 key 的所有字段和值HINCRBY为存储在 key 中的哈希表指定字段做整数增量运算HKEYS获取存储在 key 中的哈希表的所有字段HLEN获取存储在 key 中的哈希表的字段数量HSET用于设置存储在 key 中的哈希表字段的值HVALS用于获取哈希表中的所有值
哈希表Hash应用场景存储对象属性比如用户信息、商品信息等。哈希表类型适合存储结构化的数据可以方便地进行字段级别的读取和更新操作
127.0.0.1:6379 hset user:001 id 1 name zhangsan age 20 #存储在key中的哈希表字段的值
(integer) 3
127.0.0.1:6379 hget user:001 id #获取存储在哈希表中指定字段的值
1
127.0.0.1:6379 hget user:001 name
zhangsan
127.0.0.1:6379 hmset user:002 id 2 name lisi age 21 ##添加多个值
OK
127.0.0.1:6379 hmget user:001 id name age ##获取多个值
1) 1
2) zhangsan
3) 20
127.0.0.1:6379 hgetall user:001 #获取在哈希表中指定 key 的所有字段和值
1) id
2) 1
3) name
4) zhangsan
5) age
6) 20
127.0.0.1:6379 hdel user:001 age #用于删除哈希表中一个或多个字段
(integer) 1
127.0.0.1:6379 hgetall user:001
1) id
2) 1
3) name
4) zhangsan
127.0.0.1:6379 hlen user:001 #获取存储在 key 中的哈希表的字段数量
(integer) 2
127.0.0.1:6379 hexists user:001 name #用于判断哈希表中字段是否存在
(integer) 1
127.0.0.1:6379 hkeys user:001 #获取存储在 key 中的哈希表的所有字段
1) id
2) name
127.0.0.1:6379 hvals user:001 #用于获取哈希表中的所有值
1) 1
2) zhangsan
127.0.0.1:6379 hset user:001 age 20 score 88
(integer) 2
127.0.0.1:6379 hgetall user:001
1) id
2) 1
3) name
4) zhangsan
5) age
6) 20
7) score
8) 88
127.0.0.1:6379 hincrby user:001 age 1 #指定字段做整数增量运算
(integer) 21
127.0.0.1:6379 hincrby user:001 age 1
(integer) 22
127.0.0.1:6379 hgetall user:001
1) id
2) 1
3) name
4) zhangsan
5) age
6) 22
7) score
8) 88
127.0.0.1:6379 HINCRBYFLOAT user:001 score 0.5 #指定字段做小数增量运算
88.5
127.0.0.1:6379 HINCRBYFLOAT user:001 score 0.5
89
127.0.0.1:6379 hgetall user:001
1) id
2) 1
3) name
4) zhangsan
5) age
6) 22
7) score
8) 89
127.0.0.1:6379 hsetnx user:001 emial 1qq.com #没有就添加
(integer) 1
127.0.0.1:6379 hsetnx user:001 emial 1qq.com
(integer) 0
127.0.0.1:6379 hgetall user:0011) id2) 13) name4) zhangsan5) age6) 227) score8) 899) emial
10) 1qq.com4、redis集合(Set)
命令描述SADD向集合添加一个或多个成员SCARD获取集合的成员数SDIFF返回给定所有集合的差集SDIFFSTORE返回给定所有集合的差集并存储在 destination 中SINTER返回给定所有集合的交集SINTERSTORE返回给定所有集合的交集并存储在 destination 中SISMEMBER判断 member 元素是否是集合 key 的成员SMEMBERS返回集合中的所有成员SMOVE将 member 元素从 source 集合移动到 destination 集合SPOP移除并返回集合中的一个随机元素SRANDMEMBER返回集合中一个或多个随机数SREM移除集合中一个或多个成员SUNION返回所有给定集合的并集SUNIONSTORE所有给定集合的并集存储在 destination 集合中SSCAN迭代集合中的元素SINTERCARDredis7新命令 它不返回结果集而只返回结果的基数。 返回由所有给定集合的交集产生的集合的基数
集合Set应用场景标签标记、唯一值存储、共同好友等。集合类型适合存储不重复的成员可以进行交集、并集、差集等集合运算
127.0.0.1:6379 sadd set1 1 1 1 2 2 2 3 3 4 5 #向集合添加一个或多个成员
(integer) 5
127.0.0.1:6379 SMEMBERS set1 #返回集合中的所有成员
1) 1
2) 2
3) 3
4) 4
5) 5
127.0.0.1:6379 SISMEMBER set1 x #判断 member 元素是否是集合 key 的成员
(integer) 0
127.0.0.1:6379 SISMEMBER set1 1
(integer) 1
127.0.0.1:6379 SISMEMBER set1 5
(integer) 1
127.0.0.1:6379 SMEMBERS set1
1) 1
2) 2
3) 3
4) 4
5) 5
127.0.0.1:6379 srem set1 1 #返回集合中一个或多个随机数
(integer) 1
127.0.0.1:6379 SMEMBERS set1
1) 2
2) 3
3) 4
4) 5
127.0.0.1:6379 srem set1 5
(integer) 1
127.0.0.1:6379 SMEMBERS set1
1) 2
2) 3
3) 4
127.0.0.1:6379 scard set1 #获取集合的成员数
(integer) 3
127.0.0.1:6379 SRANDMEMBER set1 3 #返回集合中一个或多个随机数
1) 2
2) 3
3) 4
127.0.0.1:6379 SMEMBERS set1
1) 2
2) 3
3) 4
127.0.0.1:6379 spop set1 1 #移除并返回集合中的一个随机元素
1) 4
127.0.0.1:6379 SMEMBERS set1
1) 2
2) 3
127.0.0.1:6379 sadd set2 a b c
(integer) 3
127.0.0.1:6379 smove set1 set2 2 #将 member 元素从A集合移动到B 集合
(integer) 1
127.0.0.1:6379 SMEMBERS set1
1) 3
127.0.0.1:6379 SMEMBERS set2
1) 2
2) c
3) b
4) a
127.0.0.1:6379 del set1
(integer) 1
127.0.0.1:6379 del set2
(integer) 1
127.0.0.1:6379 sadd set1 1 2 3 a b c
(integer) 6
127.0.0.1:6379 sadd set2 3 4 5 c d e
(integer) 6
127.0.0.1:6379 sdiff set1 set2 #返回给定所有集合的差集
1) 1
2) b
3) 2
4) a
127.0.0.1:6379 sdiff set2 set1
1) d
2) e
3) 5
4) 4
127.0.0.1:6379 sunion set1 set2 #返回给定所有集合的并集1) 12) 23) c4) a5) b6) d7) 48) e9) 3
10) 5
127.0.0.1:6379 sinter set1 set2 #返回给定所有集合的交集
1) 3
2) c
127.0.0.1:6379 SINTERCARD 2 set1 set2
(integer) 2
127.0.0.1:6379 SINTERCARD 2 set1 set2 limit 1
(integer) 1
127.0.0.1:6379 SINTERCARD 2 set1 set2 limit 2
(integer) 2
127.0.0.1:6379 SINTERCARD 2 set1 set2 limit 3
(integer) 25、redis有序集合(ZSet)
命令描述ZADD向有序集合添加一个或多个成员或者更新已存在成员的分数ZCARD获取有序集合的成员数ZCOUNT计算在有序集合中指定区间分数的成员数ZINCRBY有序集合中对指定成员的分数加上增量 incrementZINTERSTORE计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中ZLEXCOUNT在有序集合中计算指定字典区间内成员数量ZRANGE通过索引区间返回有序集合成指定区间内的成员ZRANGEBYLEX通过字典区间返回有序集合的成员ZRANGEBYSCORE通过分数返回有序集合指定区间内的成员ZRANK返回有序集合中指定成员的索引ZREM移除有序集合中的一个或多个成员ZREMRANGEBYLEX移除有序集合中给定的字典区间的所有成员ZREMRANGEBYRANK移除有序集合中给定的排名区间的所有成员ZREMRANGEBYSCORE移除有序集合中给定的分数区间的所有成员ZREVRANGE返回有序集中指定区间内的成员通过索引分数从高到底ZREVRANGEBYSCORE返回有序集中指定分数区间内的成员分数从高到低排序ZREVRANK作用是逆序获得下标值ZSCORE返回有序集中成员的分数值ZUNIONSTORE计算一个或多个有序集的并集并存储在新的 key 中ZSCAN迭代有序集合中的元素包括元素成员和元素分值zmpop从键名列表中的第一个非空排序集中弹出一个或多个元素它们是成员分数对 有序集合Sorted Set应用场景排行榜、优先级队列等需要有序性的场景。有序集合类型可以存储成员及其对应的分数score并根据分数进行排序和范围查询
127.0.0.1:6379 zadd zset1 60 v1 70 v2 80 v3 90 v4 100 v5 #向有序集合添加一个或多个成员
(integer) 5
127.0.0.1:6379 zrange zset1 0 -1 #通过索引区间返回有序集合成指定区间内的成员
1) v1
2) v2
3) v3
4) v4
5) v5
127.0.0.1:6379 zrange zset1 0 -1 withscores1) v12) 603) v24) 705) v36) 807) v48) 909) v5
10) 100
127.0.0.1:6379 ZREVRANGE zset1 0 -1 withscores #返回集合分数从高到底1) v52) 1003) v44) 905) v36) 807) v28) 709) v1
10) 60
127.0.0.1:6379 zrangebyscore zset1 60 90 #通过分数返回有序集合指定区间内的成员
1) v1
2) v2
3) v3
4) v4
127.0.0.1:6379 zrangebyscore zset1 60 90 withscores
1) v1
2) 60
3) v2
4) 70
5) v3
6) 80
7) v4
8) 90
127.0.0.1:6379 zscore zset1 v5 #返回有序集中成员的分数值
100
127.0.0.1:6379 zscore zset1 v4
90
127.0.0.1:6379 zcard zset1 #获取有序集合的成员数
(integer) 5
127.0.0.1:6379 zrem zset1 v5 #移除有序集合中的一个或多个成员
(integer) 1
127.0.0.1:6379 zrem zset1 v5
(integer) 0
127.0.0.1:6379 zrange zset1 0 -1 withscores
1) v1
2) 60
3) v2
4) 70
5) v3
6) 80
7) v4
8) 90
127.0.0.1:6379 ZINCRBY zset1 5 v1 #有序集合中对指定成员的分数加上增量
65
127.0.0.1:6379 zrange zset1 0 -1 withscores
1) v1
2) 65
3) v2
4) 70
5) v3
6) 80
7) v4
8) 90
127.0.0.1:6379 zmpop 1 zset1 min count 1 #从键名列表中的第一个非空排序集中弹出一个
1) zset1
2) 1) 1) v12) 65
127.0.0.1:6379 zrange zset1 0 -1 withscores
1) v2
2) 70
3) v3
4) 80
5) v4
6) 90
127.0.0.1:6379 zrange zset1 0 -1
1) v2
2) v3
3) v4
127.0.0.1:6379 zrank zset1 v2 #返回有序集合中指定成员的索引
(integer) 0
127.0.0.1:6379 zrank zset1 v3
(integer) 1
127.0.0.1:6379 zrevrank zset1 v3 #作用是逆序获得下标值
(integer) 1
127.0.0.1:6379 zrevrank zset1 v4
(integer) 0
127.0.0.1:6379 zcount zset1 70 80 #计算在有序集合中指定区间分数的成员数
(integer) 2