您的位置:首页 > 数据库 > Redis

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

2017-06-08 10:09 609 查看
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】之间的元素,根据分数从大到小的显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis 数据库 nosql