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

Redis 2.8 数据类型

2015-06-19 21:58 633 查看

1 Redis数据类型

1.1 String

Key'[{"CityId":18,"CityName":"xian","ProvinceId":27,"CityOrder":1},{"CityId":53,"CityName":"guangzhou","ProvinceId":27,"CityOrder":1}]'
最为基础的数据存储类型。可以存储字符串和二进制数据,在Redis中字符串类型的Value最多可以容纳的数据长度是512M。
命令描述
例子
Set
赋值
SET key value
Get
获取值
GET key
APPEND
追加字符串
APPEND key value
DECR
减少值
DECR key
INCR
增加值
INCR key
DECRBY
设置减少数值的步长
DECRBY key decrement
INCRBY
设置增加数值的步长
INCRBY key increment
GETSET
先获取值再赋值,原子性操作
GETSET key value
STRLEN
返回key的长度
STRLEN key
SETEX
设置key在服务器中存在的时间
SETEX key seconds value
SETNX
Key不存在设置值,否则不做操作
SETNX key value
SETRANGE
字符串替换
SETRANGE key start "value"
GETRANGE
截取字符串
GETRANGE key start end
SETBIT
设置二进制的值
SETBIT key offset value
GETBIT
获取二进制的值
GETBIT key offset
MGET
返回多个key的值
MGET key [key ...]
MSET
设置多个key、value
MSET key value [key value ...]
MSETNX
Key不存在设置多个key、value值,否则不做操作
MSETNX key value [key value ...]

1.2 List

List类型是按照插入顺序排序的字符串链表(相当于java的linkedlist)。可以在链表的两头插入或删除元素,List中可以包含的最大元素数量是4294967295。
命令
描述
例子
LPUSH
在list头部添加多个值
LPUSH key value [value ...]
LPUSHX
Key存在则添加值,否则不做操作
LPUSHX key value
LRANGE
遍历list中key数据
LRANGE key start stop
LPOP
从头部弹出key中的值
LPOP key
LLEN
返回key的长度
LLEN key
LREM
删除前面几个值等于某值得元素
LREM key count value
LSET
给下标赋值
LSET key index value
LINDEX
返回下标中的值
LINDEX key index
LTRIM
截取list中的值
LTRIM key start stop
LINSERT
在某个值的前面或者后面插入值
LINSERT key BEFORE|AFTER pivot value
RPUSH
在list尾部添加多个值
RPUSH key value [value ...]
RPUSHX
在list尾部添加单个值
RPUSHX key value
RPOP
从尾部弹出值
RPOP key
RPOPLPUSH
从一个集合尾部弹出值插入到里一个集合的头部
RPOPLPUSH source destination

1.3 Hash

Hashes类型可以看成具有String Key和String Value的map容器(就相当于java中的hashmap类型)。非常适合于存储值对象的信息。如Username、Password和Age等。
命令
描述
例子
HSET
给key中filed字段赋值
HSET key field value
HGET
获取key中filed的值
HGET key field
HEXISTS
判断filed是否存在 0 、1
HEXISTS key field
HLEN
获取key 的长度
HLEN key
HDEL
删除file字段
HDEL key field [field ...]
HSETNX
如果filed不存赋值否则不做操作
HSETNX key field value
HINCRBY
给filed增加步长
HINCRBY key field increment
HGETALL
获取所有的filed和value
HGETALL key
HKEYS
获取key
HKEYS key
HVALS
获取value
HVALS key
HMGET
获取所有filed字段的值
HMGET key field [field ...]
HMSET
设置多个filed字段value
HMSET key field value [field value ...]

1.4 Set

Set类型看作为没有排序的字符集合,Set集合中不允许出现重复的元素,redis可以在服务器端完成多个Sets之间的计算操作,如unions、intersections和differences。这些操作均在服务端完成,因此效率极高,而且也节省了大量的网络IO开销
命令
描述
例子
SADD
添加值
SADD key member [member ...]
SMEMBERS
遍历集合
SMEMBERS key
SCARD
获取key的成员数量
SCARD key
SISMEMBER
判断成员是否存在
SISMEMBER key member
Spop
随机弹出值
Spop key
SREM
删除指定的成员
SREM key member [member ...]
SRANDMEMBER
随机返回成员,不删除原值
SRANDMEMBER key
SMOVE
移动一个集合的成员到另一个集合
SMOVE source destination member
SDIFF
求集合差集
SDIFF key [key ...]
SDIFFSTORE
集合中的差集存储到新集合中
SDIFFSTORE destination key [key ...]
SINTER
求集合交集
SINTER key [key ...]
SINTERSTORE
将集合交集存储到新集合
SINTERSTORE destination key [key ...]
SUNION
求集合并集
SUNION key [key ...]
SUNIONSTORE
将集合的并集存储到新集合
SUNIONSTORE destination key [key ...]

1.5 Sortedset

不允许出现重复的元素,每一个成员都会有一个分数(score)与之关联,用分数来进行排序,分数是可以重复的
命令
描述
例子
ZADD
添加排序成员
ZADD key score member [score] [member]
ZCARD
获取成员数量
ZCARD key
ZCOUNT
获取分数在min和max之间成员有多少个
ZCOUNT key min max
ZINCRBY
增加指定成员的分数
ZINCRBY key increment member
ZRANGE
遍历成员以及分数
ZRANGE key start stop [WITHSCORES]
ZRANGEBYSCORE
返回分数在min和max之间的成员和分数
ZRANGEBYSCORE key min max [WITHSCORES]
ZRANK
返回成员的下标
ZRANK key member
ZREM
删除指定成员
ZREM key member [member ...]
ZREVRANGE
遍历成员以及分数从大到小
ZREVRANGE key start stop [WITHSCORES]
ZREVRANK
返回成员下标顺序从大到小
ZREVRANK key member
ZSCORE
获取指定成员的分数
ZSCORE key member
ZREVRANGEBYSCORE
获取成员以及分数按照从高到低
ZREVRANGEBYSCORE key max min [WITHSCORES]
ZREMRANGEBYRANK
删除下标之间的数据
ZREMRANGEBYRANK key start stop
ZREMRANGEBYSCORE
删除分数在min和max中的成员
ZREMRANGEBYSCORE key min max

1.6 对于key的应用命令

用对key的操作,通常可以用来维护数据
命令
描述
例子
KEYS
获取所有的key
KEYS pattern
Del
删除指定的key
DEL key [key ...]
EXISTS
判断key是否存在
EXISTS key
MOVE
移动一个key到另一个库中
MOVE key db
RENAME
给key从新命名
RENAME key newkey
RENAMENX
修改key的名字
RENAMENX key newkey
PERSIST
持久化key
PERSIST key
EXPIRE
设置key存活时间
EXPIRE key seconds
EXPIREAT
设置key存活时间(年月日)
EXPIREAT key timestamp
TTL
实时查看key存活时间
TTL key
RANDOMKEY
随机返回一个key
RANDOMKEY
TYPE
查看key的中value数据类型
TYPE key
SELECT
进入指定库
SELECT NUM

1.7 消息发布、订阅

什么是消息:qq聊天、发个邮件、手机短信都可以称为消息
什么是发布:A发一个消息给B,A就是在发布消什么是订阅:B要想接收到A的消息需要添加A为好友,添加好友就是订阅场景:常用于构建类似在线聊天应用,网站内部消息系统命令:发布频道消息:publish news 'today issunshine'订阅频道:subscribenews批量订阅:psubscribenew*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis的数据类型