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

Redis常用数据类型及基本操作

2017-10-27 17:44 573 查看
在说五大常用数据类型之前,我们先说一下Redis中关键元素:键(key)。它有几个常用命令如下:

(1) keys * :查看当前数据库中键的数量。

(2) exists key的名字,判断某个key是否存在

(3) move key db —>当前库就没有了,被移除了

(4) expire key 秒钟:为给定的key设置过期时间

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

(6) type key 查看你的key是什么类型,如:string set list等。

一、Redis字符串(String)

(1)我们最熟悉的几个操作: set/get/del/append/strlen。分别是设值、取值、删除、添加、获得长度,也是最基本的操作。
(2)Incr/decr/incrby/decrby,一定要是数字才能进行加减。这四个是对数字进行递增递减的操作。
(3) getrange/setrange。GETRANGE key start end,返回子字符串。SETRANGE key offset value,用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。也比较好理解。
(4) setex(set with expire)键秒值/setnx(set if not exist)。分别为某个值设置时间和设置值。
(5) mset/mget/msetnx,这个根据字面意思就是在前面加了个more,相当于批量操作。
(6) getset(先get再set)。这个操作让我想到了i++。我觉得一个意思。


二、Redis列表(List)

注:这里的list和java中的linklist类似,是一个双向链表结构。
(1) lpush/rpush/lrange。分别为左边添加值、右边添加值、获得值。
(2) lpop/rpop。分别从顶部和尾部弹出。之后数据会消失。
(3) lindex,按照索引下标获得元素(从上到下)
(4) llen,获取长度。
(5) lrem key 删除N个value。
(6) ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
(7) rpoplpush 源列表 目的列表
(8) lset key index value。根据索引设值。
(9) linsert key  before/after 值1 值2。根据值插入值。


三、Redis集合(Set)

(1) sadd/smembers/sismember。添加、获取所有成员、判断成员是否存在。
(2) scard,获取集合里面的元素个数
(3) srem key value 删除集合中元素
(4) srandmember key 某个整数(随机出几个数)
(5) spop key 随机出栈
(6) smove key1 key2 ,作用是将key1里的某个值赋给key2
(7)差集:sdiff,交集:sinter,并集:sunion


四、Redis哈希(Hash)

注:KV模式不变,但V是一个键值对。

(1) hset/hget/hmset/hmget/hgetall/hdel,这几个命令和上面的大同小异,从字面意思即可理解。

(2) hlen,获取长度。

(3) hexists key 在key里面的某个值的key

(4) hkeys/hvals。相当于遍历key和遍历值

(5) hincrby/hincrbyfloat。递增。

(6) hsetnx,将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。

五、Redis有序集合Zset(sorted set)

其实,sorted set是在set基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2。
(1) zadd/zrange。ZRANGE key start stop [WITHSCORES],返回有序集 key 中,指定区间内的成员。其中withscores为可选项,如果加了会将所有值返回。
(2) ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count],返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
(3) zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数。
(4) zrevrank key values值,作用是逆序获得下标值
(5) zrevrange,逆序获取所有,ps:0-10 将要写成 10-0
(6) zrevrangebyscore  key 结束score 开始score


上面这些命令为常用命令,如果有需要查看其他命令或者查看这些命令的官方介绍,请点击:http://redisdoc.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 redis