ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis的5种数据类型

2021-10-19 10:57:58  阅读:122  来源: 互联网

标签:分数 set zset list redis user key 数据类型


1、string

string:最简单的字符串类型键值对缓存,也是最基本的。

相关使用命令:

  • get/set/del:查询/设置/删除
  • set rekey data:设置已经存在的key,会覆盖
  • setnx rekey data:设置已经存在的key,不会覆盖
  • set key value ex time:设置带过期时间的数据
  • expire key:设置过期时间
  • ttl:查看剩余时间,-1永不过期,-2过期
  • append key:合并字符串
  • strlen key:字符串长度
  • incr key:累加1
  • decr key:类减1
  • incrby key num:累加给定数值
  • decrby key num:累减给定数值
  • getrange key start end:截取数据,end=-1 代表到最后
  • setrange key start newdata:从start位置开始替换数据
  • mset:连续设值
  • mget:连续取值
  • msetnx:连续设置,如果存在则不设置

其他:

  • keys *:查看所有的key (不建议在生产上使用,有性能影响)
  • type key:key的类型
  • select index:切换数据库,总共默认16个
  • flushdb:删除当前下边db中的数据
  • flushall:删除所有db中的数据

2、hash

hash:类似map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)

相关使用命令:

  • hset key property value:创建对象
    例:hset user name imooc:创建一个user对象,这个对象中包含name属性,name值为imooc
  • hget user name:获得用户对象中name的值
  • hmset:设置对象中的多个键值对
    例:hmset user age 18 phone 139123123
  • hmsetnx:设置对象中的多个键值对,存在则不添加
    例:hmsetnx user age 18 phone 139123123
  • hmget:获得对象中的多个属性
    例:hmget user age phone
  • hgetall user:获得整个对象的内容
  • hincrby user age 2:累加属性
  • hincrbyfloat user age 2.2:累加属性
  • hlen user:有多少个属性
  • hexists user age:判断属性是否存在
  • hkeys user:获得所有属性
  • hvals user:获得所有值
  • hdel user:删除对象

3、list

list:列表,[a, b, c, d, …]

相关使用命令:

  • lpush userList 1 2 3 4 5:构建一个list,从左边开始存入数据
  • rpush userList 1 2 3 4 5:构建一个list,从右边开始存入数据
  • lrange list start end:获得数据
  • lpop:从左侧开始拿出一个数据
  • rpop:从右侧开始拿出一个数据
  • llen list:list长度
  • lindex list index:获取list下标的值
  • lset list index value:把某个下标的值替换
  • linsert list before/after value:插入一个新的值
  • lrem list num value:删除几个相同数据
  • ltrim list start end:截取值,替换原来的list

4、set

set:集合,{a, b, c…}

相关使用命令:

  • sadd set value value…:创建一个set
  • smembers set:查看set中的元素
  • scard set:查看set中有几个元素
  • sisemmber set value:set中是否有value元素(1表示有,0表示没有)
  • srem set value:删除某个元素
  • spop set [count]:删除第一个元素或删除前几个元素
  • srandmember set1 3:随机获取set1中3个元素
  • smove set1 set2 10:将set1的10移动到set2
  • sdiff set1 set2:取set1和set2的差集
  • sinter set1 set2:取set1和set2的交集
  • sunion set1 set2:取set1和set2的并集

5、zset

zset:sorted set,排序的set,可以去重可以排序,比如可以根据用户积分做排名,积分作为set的一个数值,根据数值可以做排序。set中的每一个memeber都带有一个score。

相关使用命令:

  • zadd zset 10 value1 20 value2 30 value3:设置member和对应的分数
  • zrange zset 0 -1:查看所有zset中的内容
  • zrange zset 0 -1 withscores:带有分数
  • zrank zset value:获得对应的下标
  • zscore zset value:获得对应的分数
  • zcard zset:统计个数
  • zcount zset 分数1 分数2:统计个数
  • zrangebyscore zset 分数1 分数2:查询分数之间的member(包含分数1 分数2)
  • zrangebyscore zset (分数1 (分数2:查询分数之间的member(不包含分数1 和 分数2)
  • zrangebyscore zset 分数1 分数2 limit start end:查询分数之间的member(包含分数1 分数2),获得的结果集再次根据下标区间做查询
  • zrem zset value:删除member

标签:分数,set,zset,list,redis,user,key,数据类型
来源: https://blog.csdn.net/weixin_44218180/article/details/120833142

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有