设为首页 收藏本站
查看: 1025|回复: 0

[经验分享] Redis 2.8 数据类型

[复制链接]

尚未签到

发表于 2018-11-6 10:15:56 | 显示全部楼层 |阅读模式
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*


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-631416-1-1.html 上篇帖子: Redis 2.8 简介 下篇帖子: Redis 2.8 客户端应用(jedis),jedis分片
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表