Redis数据类型的基本命令(笔记)

来源:互联网 发布:金蝶软件数据库名称 编辑:程序博客网 时间:2024/05/16 15:04

Redis key关键字

keys * 罗列所有key

exists key 判断某个key是否存在

move key db 将某个的key移动到指定的数据库

expire key 秒 为指定的key设置过期时间,单位秒

ttl key 查看key还有多少秒过期,-1表示永不过期,-2表示已过期

type key 查看key对应的数据类型

del key 删除key及对应值

Redis String

set key value 设定key的值为value

get/del key 获得或删除key的值

append key value 将字符串value添加到给定key的值的后面,字符串拼接

strlen key 获取给定key的值的长度

incr/decr key key的值每次递增或递减1,值为integer

incrby/decrby key X key的值每次递增或递减X

getrange key 0 N 获取指定区间的值,获取下标为0到N的字符串

setrange key 0 XX 修改指定区间的字符串为XX

sete key 秒 value set with expire,修改key的值为value并给定过期时间

setnx key value set if not exists,如果key不存在,设定key的值为value

mset/mget/msetnx key1 v1 key2 v2 key3 v3 批量设置或取得键值对,msetnx中如果其中一个key存在则所有key都无法设置

Redis List

lpush/rpush key v1 v2 v3 v4 lpush先进后出,rpush先进先出,lpush每个元素从集合头部添加,rpush每个元素从集合尾部添加

lrange key 0 -1 获取指定下标范围的值,lpush在最上面插入,rpush在最下面插入

lpop/rpop key pop出一个value,若以lrange的值来看,lpop取出最上面的一个值,rpop取出最下面的一个值。

lindex key X 按照下标索引X获得元素(从上到下)

llen key 获取list元素长度

lrem key N value 删除list中N个value,以lrange列出的值中从上往下的删N个,批量删除

ltrim key 0 N 取出list中指定下标范围的值,并将取出的值覆盖原来的list,即删除指定范围外的值

rpoplpush list1 list2 将list1中最下面的值取出,放入list2中最上面

lset key index value 修改指定索引的值,索引顺序从上到下

linsert key before/after v1 v2 在v1的前面或后面插入v2

List总结:
1.它是一个字符串链表,left、right都能插入添加
2.若键不存在,创建新的链表,若键存在,新增内容
3.若值全移除,则对应的键也消失
4.链表的操作头和尾效率都高,但对中间元素操作效率就较低了

Redis Set

sadd key v1 v2 v3 添加元素,会自动去掉重复的值

smembers key 罗列所有成员元素

sismember key value 判断value是否为key中元素

scard key 获取集合中元素个数

srem key value 删除key中某个元素

srandmember key N 从集合中随机显示N个元素

spop key 从集合中随机取出一个元素

smove key1 key2 value 将key1中某个元素移动到key2中

sdiff/sinter/sunion key1 key2 显示key1和key2的差集,交集,补集

sdiff key1 key2 显示key1中key2不存在的元素

Redis Hash

hset user id 1 添加键值对

hget user id 获取值

hmset user id 1 age 13 批量添加键值对

hmget user id age 批量获取值

hgetall 获取所有键值对

hdel user id 删除键值对

hlen user 获取键值对个数

hexists user id 判断集合中某个键值是否存在

hkeys/hvals user 获取所有的key或所有的value

hincrby/hincrbyfloat user id N/N.NN 集合中某个键的值每次递增N或N.NN

hsetnx user id 1 若添加的键已存在则不操作

Redis Zset

zadd key score1 v1 score2 v2 score3 v3 添加元素并设置分数

zrange key 0 N 给定下标范围的显示集合元素,根据分数从小到大排列

zrange key 0 N withscores 带分数列举元素

zrangebyscore key score1 score2 列举出集合中分数在【score1,score2】之间的元素

zrangebyscore key (score1 score2 “(“为不包含的意思,列举分数在(score1,score2]之间的元素

zrangebyscore key score1 score2 limit x y 列举出元素后,从下标为x的元素开始,筛选出y个元素

zrem key value 删除value

zcard key 获得集合value个数

zcount key score1 score2 统计score1和score2之间有多少个元素,包含score1,score2

zrank key value 获取value在集合中的下标

zrevrank key value 逆序获取value在集合中的下标

zscore key value 获取value对应的分数

zrevrange key 0 N 给定下标范围的显示集合元素,下标是逆序的

zrevrangebyscore key score2 score1 列举出集合中分数在【score1,score2】之间的元素,根据分数从大到小的显示

原创粉丝点击