分布式内存数据库---Redis操作String、list、set、hash和Zset

Redis是一个Key-Value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

一、 Redis操作String(字符串)

Redis保存String称之为“单值单Value”,也就是说一个key只能保存一个值,常用的操作命令如下:

命令描述
set/get/del/append/strlen对String的基本操作
Incr/decr/incrby/decrby每次递增1/每次递减1/按某个数每次递增/按某个数每次递减
getrange/setrange对字符串操作(java中SubString)
setex键秒值/setnxset with expire和set if not exist
mset/mget/msetnx批量操作
getset先get再set

二、 Redis操作list(集合)

Redis保存List称之为“单值多value”。
常用操作命令:

命令描述
lpush/rpush/lrange保存list和获取list
lpop/rpop从list中弹出一个值
lindex按照索引下标获得元素(从上到下)
llenList长度
lrem key删N个value
ltrim key开始index 结束index,截取指定范围的值后再赋值给key
rpoplpush 源列表 目的列表从一个list弹出再赋值给另一个list
lset key index valueList指定位置设置值
linsert key before/after 值1 值2在list的指定位置插入值

三、 Redis操作set

Redis保存set也是 “单值多value”,但是set的值不可重复。

命令描述
sadd/smembers/sismember保存set和获取set
scard获取集合里面的元素个数
srem key value删除集合中元素
srandmember key某个整数(随机出几个数)红包,抽奖多用
spop key随机出栈
smove key1 key2作用是将key1里的某个值赋给key2
数学集合类差集:sdiff/交集:sinter/并集:sunion

四、 Redis操作Hash

Hash与Java中的Map对应,KV模式不变,但V是一个键值对。Hash是redis中的一个非常重要的数据类型。
常用操作命令:

命令描述
hset/hget/hmset/hmget/hgetall/hdel操作hash的基本命令
hlenHash中的元素数量
hexists key在key里面的某个值的key
hkeys/hvals一个hash中所有的key和value
hincrby/hincrbyfloat指定的值按某个值增长
hsetnx不存在就设置

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

在set基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2。
常用操作命令:

命令描述
zadd/zrange操作hash的基本命令
zrangebyscore key开始score结束score 根据得分查询(不包含
zrem key某score下对应的value值,作用是删除元素
zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数
zrevrank key values值,作用是逆序获得下标值
zrevrange逆序获取值
zrevrangebyscore key 结束score 开始score根据分数逆序排序


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部