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

[经验分享] redis常用数据类型总结

[复制链接]

尚未签到

发表于 2018-11-4 07:27:43 | 显示全部楼层 |阅读模式
  redis常用数据类型总结
  redis是以键值对key-value的形式来存储数据,而存储的数据类型有5种String,List,Set,Map,以及有序集合
  这五种数据类型操作的命令多有相似,经常混淆,闲暇之余,总结一番。
  类型一:String
  1append key value
  如果key存在,则把value追加到原来的value后面
  如果可以不存在,则以key为键,value为值建立新的。
  2get key
  返回key所关联的字符串。如果key不存在则返回nil
  3bitcount key
  返回给定字符串中,被设置为1的比特位的数量
  4decr key
  key中存储的数字值减一
  5decrby key  num
  key 中所存储的值减去 num
  6getbit key offset
  对key所存储的字符串值,获取指定偏移量上的位
  7getrange key  start end
  返回key中存储的start到end之间的字符串
  8getset key value
  将给定key的值设为value,并返回key原来的值
  9incr 将key中存储的数字值加一
  10incrby key  num
  将key中所存储的值加num
  11mget key1 key2 ...
  返回所有给定key的值
  12mset key1 value1  key2 value2  ...
  同时设置多个键值对
  13setex key seconds value
  设置key value 键值对,并且设置key的生存时间
  14strlen key
  返回key所存储值得长度
  类型二:HASH(哈希)又称散列
  1hset key-name key  value
  在名为key-name 的hash表中设置一堆键值对 key  value
  2hsetnx key-name key value
  在名为key-name 的hash表中设置一堆键值对 key  value,当且仅当key不存在。
  3hmset key-name key1 value1  key2 value2 ...
  为名字叫key-name的散列设置多个键值对。
  4hget  key-name  key
  获得key-name散列表中名字为key的值
  5hmget key-name key1 key2  ...
  获得名字为key-name的散列表中键为key1 key2 ...的值
  6hgetall key-name
  获得散列包含的所有键值对
  7hvals key -name
  获取散列包含的所有值
  8hkeys key -name
  获取散列包含的所有键
  9hlen key-name
  返回散列包含的键值对数量
  10hdel key-name key1 key2
  删除散列里一个或多个值
  11hincrby key-name key increment
  将名字为key-name的散列中,将键key所存储的值加上整数increment
  类型三:列表(List)
  1lpop key-name
  移除并返回列表key的头元素(最左端的元素)
  2rpop key-name
  移除并返回列表key的尾元素(最右端的元素)
  3lpush key-name value1 value2
  将一个或多个值推入列表的表头(最左端)
  4rpush key-name value1 value2 ...
  将一个或多个值推入列表的尾部(最右端)
  5lpushx key-name value
  将值value插入列表key-name的表头,当且仅当key存在且是列表
  6rpushx key-name value
  将值value插入列表key-name的尾部,当且仅当key存在且是列表
  7ltrim key start stop
  对一个列表进行修剪,保留指定区间内的元素,不再指定区间的元素将被删掉。
  8lset key-name  index value
  将key-name列表下表为index的值设为value
  9lrange key-name start stop
  返回列表key-name中指定区间内的元素。
  10llen key-name
  返回列表key-name的长度
  类型四:集合(SET)
  1sadd key-name item1 item2  ...
  将一个或多个元素添加到集合key-name中
  2srem key-name item1 item2
  从集合key-name 里移除一个或多个元素
  3scard key-name
  返回集合包含的所有元素的数量
  4sismember key-name  item
  判断item元素是否是集合key-name的成员
  5smembers key-name
  返回key-name中的所有成员
  6sdiff key-name1 key-name2 ..
  返回第一个集合和其他集合的差集运算后的元素
  7sinter key-name1 key-name2
  返回那些同时存在于所有集合中的元素,交集运算
  8sunion key-name1 key-name2 ...
  返回至少存在于一个集合中的元素,并集运算
  9smove key-name1 key-name2 item
  将item元素从key-name1集合移动到key-name2集合
  10spop key-name
  移除并返回key-name集合中随机一个元素
  类型五:有序集合
  1zadd key-name score1 member1 [score2 member2]
  将一个或多个member元素及其分值score添加到key-name集合中
  2zrem key-name member1 member2 ...
  移除有序集和key-name中 一个或多个成员
  3zcard key-name
  返回有序集合的元素数量
  4zrank key-name member
  返回元素member在有序集合里的排名
  5zcount key-name min max
  返回分值介于min max之间的成员数量
  6zscore key-name  member
  返回member成员在key-name有序集合中的分值
  7zrange key-name start stop
  返回有序集合中排名介于start stop之间的元素。
  8zincrby key-name increment member
  在有序集合key-name中为member成员加上增量increment。
  如果有不同见解欢迎大家相互讨论共同进步@_@
  参考有josiah L .carlson  redis in action


运维网声明 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-630410-1-1.html 上篇帖子: Redis-常用命令记录-持续更新 下篇帖子: redis 并发处理,多线程以及synchronized锁的应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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