『Redis』Redis数据类型简介

本篇博客介绍一下Redis中的数据类型及其简单使用。

Redis的五大数据类型


在这里插入图片描述
String(字符串)

  • String是Redis最基本的类型,可以将其理解为和Memcached一模一样的类型,一个key对应一个value;
  • String类型是二进制安全的。意思是Redis的String可以包含任何数据。比如jpg图片或者序列化的对象
  • String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M

Hash(哈希,类似于Java中的Map)

  • Redis Hash是一个键值对集合;
  • Redis Hash是一个String类型的field和value的映射表,Hash特别适合用于存储对象。

List(列表)

  • Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边);
  • 底层是一个双向循环链表

Set(集合)

  • Redis的Set是String类型的无序集合;

Zset(sorted set:有序集合)

  • Redis Zset和Set一样也是String类型元素的集合,且不允许重复的成员
  • 不同的是每个元素都会关联一个double类型的分数
  • Redis正是通过分数来为集合中的成员进行从小到大的排序
  • Zset的成员是唯一的,但分数(score)却可以重复

Redis数据类型操作命令


Redis命令参考
在这里插入图片描述

Redis 键(key)


  • keys *查看所有的key
    在这里插入图片描述
  • exists key的名字判断某个key是否存在
    在这里插入图片描述
  • move key db将一个key移动到指定库
    在这里插入图片描述
  • expire key 秒钟为给定的key设置过期时间
    在这里插入图片描述
  • ttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期
    在这里插入图片描述
  • type key查看你的key是什么类型
    在这里插入图片描述

Redis 字符串(String)


  • set/get/del/append/strlen设置/获取/删除/追加/获取长度
    在这里插入图片描述
  • incr/decr/incrby/decrby一定要是数字才能进行加减
    在这里插入图片描述
  • getrange/setrange获取指定区间范围内的值/设置指定区间范围内的值
    在这里插入图片描述
  • setex(set with expire) 键 秒 值/setnx(set if not exist)设置带过期时间的key,动态设置/只有在key不存在时才设置key的值
    在这里插入图片描述
  • mset/mget/msetnx同时设置一个或多个键值对/获取所有(一个或多个)给定key的值/同时设置一个或多个键值对,当且仅当所有给定的key都不存在
    在这里插入图片描述
  • getset先get然后立即set,返回key的旧值
    在这里插入图片描述

Redis 列表(List)


  • lpush/rpush/lrange左边插入/右边插入/显示范围
    在这里插入图片描述
  • lpop/rpop左边移除一个元素/右边移除一个元素
    在这里插入图片描述
  • lindex key index通过索引获取列表中的元素
    在这里插入图片描述
  • llen获取列表的长度
    在这里插入图片描述
  • lrem key删除N个value
    在这里插入图片描述
  • ltrim key 开始index 结束index截取指定范围的值后再赋值给key
    在这里插入图片描述
  • rpoplpush 源列表 目的列表移除源列表的最右边元素,插入到目的列表的最左边
    在这里插入图片描述
  • lset key index value设置指定下标元素
    在这里插入图片描述
  • linsert key before/after 值1 值2在列表某个已有值的前/后再添加具体值
    在这里插入图片描述

性能总结

  • List是一个字符串链表,left、right都可以插入添加;
  • 如果键不存在,创建新的链表;
  • 如果键已存在,新增内容;
  • 如果值全移除,对应的键也就消失了;
  • 链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率是比较低的

Redis 集合(Set)


  • sadd/smembers/sismember向集合中添加元素/查看集合中所有元素/判断一个元素在不在集合中
    在这里插入图片描述
  • scard获取集合中元素个数
    在这里插入图片描述
  • srem key value删除集合中元素
    在这里插入图片描述
  • srandmember key 整数随机出几个数
    在这里插入图片描述
  • spop key随机出栈
    在这里插入图片描述
  • smove key1 key2 在key1里的某个值将key1里的某个值赋给key2
    在这里插入图片描述
  • sdiff/sinter/sunion差集/交集/并集
    在这里插入图片描述

Redis 哈希(Hash)


  • hset/hget/hmset/hmget/hgetall/hdel设置/获取/设置多个/获取多个/获取所有/删数
    在这里插入图片描述
  • hlen哈希中元素的个数
    在这里插入图片描述
  • hexists key 在key里面的某个值的key判断一个key是否存在
    在这里插入图片描述
  • hkeys/hvals获取所有的key/获取所有的val
    在这里插入图片描述
  • hincrby/hincrbyfloat增加
    在这里插入图片描述
  • hsetnx不存在赋值,存在则无效
    在这里插入图片描述

Redis 有序集合(Zset,sorted set)


  • zadd/zrange添加/范围
    在这里插入图片描述
  • zrangebyscore key 开始score 结束score‘(’为不包含,limit的作用是返回限制,limit 开始下标 数量
    在这里插入图片描述
  • zrem key 某score下对应的value值删除元素
    在这里插入图片描述
  • zcard/zcount/zrank/zscore获取集合中元素个数/获取分数区间内元素个数/获取value在zset中的下标位置/按照值获得对应的分数
    在这里插入图片描述
  • zrevrank key values值逆序获得下标志
    在这里插入图片描述
  • zrevrange
    在这里插入图片描述
  • zrevrangebyscore key 结束score 开始score
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值