Redis(四)基础数据类型

–Redis一共分为5种数据类型:StringHashListSetZset
–String类型

是包含很多种类型的特殊类型,并且是二进制安全的,比如序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串,数值等等

  • set和get方法:

  • –设置值:set name 张三

  • –取值:get name(说明 当设置name多次会覆盖)

  • –删除值: del name

  • –一次性设置多个值 mset

  • –一次性获取多个值 mget

mset key1 zhangsan key2 lisi

使用`setnx (not exist)
name 如果不存在进行设置,存在就不需要设置了,返回0
使用setex (expired)
setex color 10 red 设置color的有效期为10秒,10秒之后返回nil(在redis里nil表示空)
使用setrange 替换字符串:
set email 1030355665@qq.com
setrange email 10 ww (10表示从第几位开始替换,后面跟上替换的字符串)

  • –对某一个值进行递增和递减 incr和decr
  • –对某个值进行递增和递减 incrby和decrby (语法 incrby key [步长])
  • –字符创追加 append[name]
  • –获取字符串的长度 strlen[name]
–Hash类型

–Hash类型是String类型的field和value的映射表,或者说一个String的集合,它特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型里要比存储在String类型里占用更少的内存空间,并方便存取整个对象
hset myhash fidld1 hello (含义是hset是hash集合,myhash是集合名字 field1 是字段名 hello为其值)使用hget myhash field1 获取内容,也可以存储多个值,

  • hmset可以进行批量存储多个键值对,hmset myhash sex nan addr beijing,也可以使用hmget进行批量获取多个键值对,同样也有+ hsetnx 和setnx大同小异
  • hincrby 和 hdecrby 集合递增和递减
  • hexists 是否存在key 如果存在返回,不存在返回0
  • hlen 返回hash集合里所有的键值对
  • hdel 删除指定hash的field
  • hkeys 返回hash里所有的字段
  • hvals 返回hash的所有value
  • hgettall 返回hash里所有的key和value
–List类型

–List类型是一个链表结构的集合,其主要功能有push添加一个元素、pop移除一个元素、获取元素等,更详细的说,List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,list的设计非常简单精巧,即可以作为栈,也可以作为队列,满足绝大多数需求

  • –lpush 从头部加入元素,先进后出
    例如: lpush list1 “hello” lpush list1 “world”
    lrange list1 0 -1 表示从头取到末尾

  • –rpush 从尾部添加元素 先进先出
    例如: rpush list2 “beijing” rpush list2 “huanyingni”
    lrange list2 0 -1

  • –linsert 插入元素
    例如: linsert list3 before[集合的元素] [插入的元素]

  • –lset 将指定下标的元素替换掉
    例如: lset list4 0 p

  • –lrem 删除元素 返回删除的个数
    例如: lrem list4 2 b

  • -ltrlm 保留指定key的值范围内的数据

  • –lpop 从list的头部删除元素,并返回删除元素

  • –rpop 从list的尾部删除元素, 并返回删除元素

  • –rpoplpush 第一步从尾部删除数据,然后第二步并从头部添加元素

  • –lindex 返回名称为key的list种index位置的元素

  • –llen 返回元素的个数

–set类型

–set集合是string类型的无序集合(不允许重复),set是通过hashtable实现的,对集合我么可以取交集,并集,差集

  • –sadd 向名称为key的set种添加元素
    小结:set集合不允许重复元素 smembers查看set集合的元素
  • –srem 删除set集合元素
  • –spop 随机返回删除的key
  • –sdiff 返回两个集合的不同元素(哪个集合在前面就以哪个集合为标准)
  • –sdiffstore 将返回的不通元素存储到另外一个集合里面
    小结:这里是吧set1和set2的不同元素(以set1位准)存储到set3集合里
  • –sinter 返回集合的交集
  • –smove 从一个set集合移动到另外一个集合里
  • –scard 查看集合里元素的个数
  • –sismember 判断某元素是否为集合中的元素(返回1代表是集合中的元素, 0 代表不是)
  • –srandmember 随机返回一个元素
–zset类型
  • –zadd 向有序集合中添加一个元素,该元素如果存在,则更新顺序(在重复插入的时候,会根据顺序属性更新)

  • –zrange zset1 0 -1 withscores 表示从第一个元素遍历到最后一个元素(顺序排列)

  • –zrem 删除名为key的zset中的元素member

  • –zlncrby 以指定值去自动递增或者减少,用法和之前的incrby类似

  • –zrangebyscore 找到指定区间范围的数据进行返回

  • –zremrangebyrank 删除1到1 (只删除索引)

  • –zremrangebyscore 删除指定序号

  • –zrank 返回排序索引,从小到大跑徐(升序排序之后再找索引)
    注意 一个是顺序号 一个是索引 zrank返回的是索引

  • –zreyrank 返回排序索引, 从大大小排序(降序排序之后再找索引)

  • –zrangebysocre zset1 2 3 withscores 找到指定区间范围的数据进行返回

  • –zcard 返回集合里所有元素的个数
    zcard zset1

  • –zcount 返回集合中score在给定区间中的数量
    zcount zset1 1 4 (返回1 4区间中的数量)

  • –zremrangebyrank zset [from] [to] (删除索引)

  • –zremrangebyscore zset [from] [to] (删除指定序号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值