互联网技术学习29——redis几种数据类型

Redis一共分5中基本数据类型: String、Hash、List、Set、ZSet

String类型

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

  1. 设置值 set name bts(多次设置name的值,后一次会覆盖前一次)
  2. 取值 get name
  3. 删除值 del name
  4. setnx name btsNew; nx的意思就是not exists,不覆盖赋值。
  5. seteex color 10 red;ex的意思是expired,设置有效期,超过10秒后get color 返回控制nil
  6. 一次性获取和设置多个值mset,mget
  7. 一次性设置值和取值getset name btsNew ; 把原存储的bts取到并且重新赋值为btsNew
  8. incr和decr:对某个值进行递增或递减
  9. incrby和decrby:对某个值进行指定步长的递增或递减
  10. append;追加字符串 append name Smart后,get name 显示  btsSmart
  11. strlen key;获取字符串长度 

Hash类型

  hash类型是string类型的field和valur的映射表,或者说是一个string集合。特别适合存储对象,相比而言,对象存在hash中比在string占用的空间要小,并方便存取整个对象。

  形如:hset myhash field1 hello (含义:hset是声明hash集合,myhash是集合名字,field1是字段名,hello是值);使用hget myhash field1获取内容,也可以存储多个值。hmset可以批量存储多个键值对;hmset myhash sex 1 addr beijing,可以使用hmget 获取多个键值对。同样也有hsetnx、hsetex。

  1. hincryby和hdecrby 集合递增和递减
  2. hexists 是否存在key,如果存在返回,不存在返回0
  3. hlen返回hash集合里所有的键数值
  4. hdel删除指定的hash的field
  5. hkets 返回hash的所有value
  6. hgetall 返回hash里所有的key和value

 

List类型

list类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。list类型是一个双端链表结构,可进行集合的头部或者尾部添加删除元素,可以作为栈,又何以作为队列。满足绝大多数需求

  1. lpush 头部加入,先进先出 形如:lpush liist1 sgm             lpush list1zzt
  2. rpush 尾部加入,先进先出
  3. lrange 获取队列元素
  4. linsert 插入元素   形如: insert list3 before {集合已有的元素} {插入的元素}
  5. lset 将制定下标的元素替换掉
  6. lrem 删除元素,返回删除个数 形如  lrem list 2 “b” 删除第二个b    lrem list 2 -1   全部删除
  7. ltrim 保留制定key的值范围内的数据 ltrim list 2 4     也可以有-1、-2等表示倒数第一个、倒数第二个
  8. lpop 从list头部删除元素,并返回删除元素
  9. rpop 从list尾部删除元素,并返回删除元素
  10. rpoploush 同尾部删除元素,并从头部加入刚才删除的元素
  11. lindex  返回指定list中指定下标位置的元素
  12. llen 返回元素个数

set类型

 

set集合是String类型的无序集合,set是通过hashtable实现的,对集合我们可以取交集、并集、差集

  1. sadd 想名称为ket的set中添加元素 set集合不允许重复元素,smembers 查看set集合的元素
  2. srem 删除集合指定的元素
  3. spop 随机删除set集合中的一个元素并返回
  4. sdiff 返回集合间不同的元素,以第一个为标准去比较其他的 例如
    key1 = {a,b,c,d}
    key2 = {c}
    key3 = {a,c,e}
    SDIFF key1 key2 key3 = {b,d} (取key2与key3的并集再取key1的差集)
  5. sdiffstore 将返回的的不同的元素存在另一个集合里 例如sdiffstore key3 key1 key2(以key1为标准,取key1和key2不同的元素存到key3中)
  6. sintet 返回集合的交集
  7. insterstore 返回集合的交集并存在另一个集合中
  8. sunion 取并集
  9. sunionstore 取并集并存在另一个集合中
  10. smove 从一个set集合移动到另一个set集合 例如 smove set1 set2 a
  11. scard 查看集合元素个数
  12. sismembers 判断某个元素是否是集合中的元素
  13. srandmember 随机返回一个元素

zset类型

  1. zadd 向有序集合中添加一个元素,该元素如果存在,则更新顺序  例如 zadd zset1 5 five (5表示顺序)
  2. zrange 按照顺序显示zset (场景rank相关的应用)例如 zrange zset1 0 5 withscores 或者 zrange zset1 0 -1 withscores 
  3. zrem 删除指定zset中的指定元素
  4. zincrby 以指定值去自动递增或减少
  5. zrangebyscore 找到指定范围的数据返回
  6. zremrangebyrank 根据下标范围删除
  7. zrenrangebuscore 删除范围内的所有元素

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值