Redis系列之三------ Redis 的数据类型

目录

Redis系列之三------ Redis 的数据类型

一、Redis的五大数据类型

1、string(字符串)

2、hash(哈希,类似java里的Map)

3、list(列表)

4、set(集合)

5、zset(sorted set:有序集合)

二、Redis 键(key)

1、常见的命令

2、案例

三、Redis字符串(String)

1、常见命令

2、案例

四、Redis列表(List)

1、常用命令

2、案例

五、Redis集合(Set)

1、常用命令

2、案例

六、Redis哈希(Hash)

1、常用命令

2、案例

六、Redis有序集合Zset(sorted set)

1、与set 的对比

2、常用命令

3、案例

Redis系列


Redis系列之三------ Redis 的数据类型

一、Redis的五大数据类型

1、string(字符串)

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

2、hash(哈希,类似java里的Map)

  • Redis hash 是一个键值对集合。
  • Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
  • 类似Java里面的Map

3、list(列表)

  • Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
  • 它的底层实际是个链表

4、set(集合)

  • Redis的Set是string类型的无序集合。它是通过HashTable实现实现的

5、zset(sorted set:有序集合)

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

二、Redis 键(key)

1、常见的命令

2、案例

  • keys *       查看所有key

  • exists key的名字,  判断某个key是否存在

  • move key db        当前库就没有了,被移除了

  • expire key 秒钟:  为给定的key设置过期时间

  • ttl key        查看还有多少秒过期,-1表示永不过期,-2表示已过期

  • type key    查看你的key是什么类型

三、Redis字符串(String)

1、常见命令

2、案例

  • getrange/setrange
    • getrange:获取指定区间范围内的值,类似between......and的关系  从零到负一表示全部

    • setrange设置指定区间范围内的值,格式是setrange key值 具体值

  • setex(set with expire)键秒值/setnx(set if not exist)

    • setex:设置带过期时间的key,动态设置。          setex 键 秒值 真实值

    • setnx:只有在 key 不存在时设置 key 的值。

  • mset/mget/msetnx

    • mset:同时设置一个或多个 key-value 对。

    • mget:获取所有(一个或多个)给定 key 的值。

    • msetnx:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

  • getset(先get再set)

    • ​​​​​​​getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。  简单一句话,先get然后立即set

四、Redis列表(List)

1、常用命令

2、案例

  • lpush/rpush/lrange

  • lpop/rpop

  • lindex,按照索引下标获得元素(从上到下)

  • llen

  • lrem key 删N个value

  • ltrim key 开始index 结束index,截取指定范围的值后再赋值给key

  • rpoplpush 源列表 目的列表      移除列表的最后一个元素,并将该元素添加到另一个列表并返回

  • lset key index value

 

  • linsert key before/after 值1 值2

五、Redis集合(Set)

1、常用命令

2、案例

  • sadd/smembers/sismember     sadd 只能插入该集合中唯一的值(可一次添加一个或多个值)  smenbers 是查询集合的所有值。 sismember 是查看该值是否存在。

  • scard,获取集合里面的元素个数

  • srem key value 删除集合中元素

  • srandmember key 某个整数(随机出几个数)

  • spop key 随机出栈

  • smove key1 key2 在key1里某个值 作用是将key1里的某个值赋给key2

  • 差集:sdiff

  • 交集:sinter

  • 并集:sunion

六、Redis哈希(Hash)

1、常用命令

2、案例

  • hset/hget/hmset/hmget/hgetall/hdel

  • hkeys/hvals

  • hincrby/hincrbyfloat

  • hsetnx

六、Redis有序集合Zset(sorted set)

1、与set 的对比

在set基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2

2、常用命令

3、案例

  • zadd/zrange

  • zrangebyscore key 开始score 结束score

  • zrem key 某score下对应的value值,作用是删除元素     zrem key score某个对应值,可以是多个值

  • zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数

zcard :获取集合中元素个数

zcount :获取分数区间内元素个数,zcount key 开始分数区间 结束分数区间

zrank: 获取value在zset中的下标位置

zscore:按照值获得对应的分数

  • zrevrank key values值,作用是逆序获得下标值

  • zrevrange

  • zrevrangebyscore key 结束score 开始score

Redis系列

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zpeien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值