redis 数据类型

目录

 

概述

字符串

哈希

列表

集合

有序集合


概述

redis 支持5种数据类型,字符串(String) 哈希(hash) 列表(list) 集合(set) 有序集合(sorted set)

字符串

String 类型是redis的最基本类型,一个key对应一个value。一个键能存储的最大是512M,使用场景大多数为session共享,将数据以字符串方式存入缓存。

基本语法:

//ex seconds: 键过期时间
px milliseconds: 为键设置毫秒级过期时间
nx: 键必须不存在才可以设置成功,用于添加
xx: 键必须存在,才可以设置成功,用于更新

set key value [EX seconds] [PX milliseconds] [NX|XX]

//得到key

get key

常用:

1 GETRANGE key start end    此命令用于获取存储在键中的字符串的子字符串。
2 GETSET key value    此命令用于设置键的字符串值并返回其旧值。
3  GETBIT key offset    此命令用于返回存储在key的字符串值中的偏移量处的位值。
4  MGET key1 [key2 ..]    此命令用于获取所有给定键的值
5  SETBIT key offset value    此命令用于设置或清除存储在key的字符串值中的偏移位
6  SETEX key secodes value    此命令用于设置key到期时的值
7  SETNX key value    仅当key不存在时,此命令用于设置key的值
8  SETRANGE key offset value    此命令用于覆盖从指定偏移量开始的键处的字符串部分
9  STRLEN key    此命令用于检索存储在key中的值的长度
10  MSET key value [key value …]    此命令用于将多个键设置为多个值
11  MSETNX key value [key value …]    仅当没有任何键存在时,此命令用于将多个键设置为多个值
12  PSETEX key milliseconds value    此命令用于设置key的值和到期时间(以毫秒为单位)
13  INCR key    此命令用于将键的整数值递增1
14  INCRBY key increment    此命令用于按给定量递增键的整数值
15  INCRBYFLOAT key increment    此命令用于按给定的量增加键的浮点值
16  DECR key    此命令用于将键的整数值递减1

哈希

hash是键值对的集合,是String 类型的键值和value 的映射表,适合存储对象

语法

hmset key field value [field value ...] //设置值

hgetall key //得到值

 常用

1    HEXISTS key field    确定是否存在哈希字段。
2    HDEL key field2 [field2]    删除一个或多个哈希字段。
3    HMGET key1 [field2]    获取所有给定哈希字段的值
4    HMSET key field1 value1 [field2 value2]    将多个哈希字段设置为多个值
5    HSET key field    设置哈希字段的字符串值
6    HSETNX key field    仅当字段不存在时,设置哈希字段的值
7    HVALS key    获取哈希值中的所有值

列表

列表的定义是字符串列表,是有序的,可以将元素添加到列表的头部和尾部。

语法:

 lpush key value [value ...] //添加

lrange key start stop //获得 start stop 是开始结束值 详见例子

常用:

1    BLPOP key1 [key2] timeout    删除和获取列表中的第一个元素。
2    BRPOP key1 [key2] timeout    删除和获取列表中的最后一个元素。
3    LINDEX key index    通过索引从列表中获取元素。
4    LINSERT key before|after pivot value    在列表中的另一个元素之前或之后插入元素。
5    LLEN key    获取列表的长度。
6    LPOP key    删除和获取列表中的第一个元素。
7    LPUSH key value1 [value2]    将一个或多个值添加到列表中。
8    LPUSHX key value    仅当列表存在时,将值添加到列表中。
9    LRANGE key start stop    从列表中获取一系列元素。
10    LREM key count value    从列表中删除元素。
11    LSET key index value    通过索引设置列表中元素的值。
12    LTRIM key start stop    将列表修剪到指定范围。
13    RPOP key    删除和获取列表中的最后一个元素。
14    RPOPLPUSH source destination    删除列表中的最后一个元素,将其附加到另一个列表并返回它。
15    RPUSH key value1 [value2]    将一个或多个值附加到列表。
16    RPUSHX key value    仅当列表存在时,用于将值附加到列表。

使用场景,消息队列:lpush + brpop或rpop命令,实现先进先出,如果消费失败客户端把key再放回去,消费成功真的remove掉(有单独博客和源码)

集合

set是String类型的无序集合,集合成员是唯一的。

语法:

sadd key member [member ...]

 smembers key

 常用:
1 scard key   //计算元素的个数
2 sismember key value //判断元素是否在集合中
3 srandmember key [count]  //随机从集合中返回指定个数的元素,不写默认为1
4 spop key //从集合随机取出元素
5 smembers key //获取集合内的所有元素

6 sinter key1 key2 //求集合的交集
7 sunion key1 key2 //求集合的并集
8 sdiff key1 key2  //求集合的差集

有序集合

有序集合保留的元素不能重复的特性,并且是有序的

 1    ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
 2    ZCARD key 获取有序集合的成员数

下一篇 https://blog.csdn.net/lilongwangyamin/article/details/105245675 redis 事务 备份及安全

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值