Redis五大数据类型以及其基本操作

Redis为非关系型数据库,数据是以key-value的数据结构,每条数据都是⼀个键值对,其中值可以重复而key不可以重复。

主要分为String(字符串)Hash(哈希)List(列表)Set(集合)Zset(有序集合)

String:

String是Redis的最基本类型一个key对应一个value,如果key已经有值得话在赋值则会背新的值覆盖

操作:新建 set key value 例如 set li 123 多条添加 mset key value 【key value。。。】

查看数据 get key 若key没有返回nil,若key存在但不是字符串返回nil 追加数据 append key value 默认追加到末尾前提是key不存在 查看数据的生存时间 tt1 key -1表示永久存在-2表示不存在 移除key的生存时间 persist key 返回1成功0表示key不存在

设置key的消失时间:set key value ex seconds 列如 set age 20 ex 10 表示十秒后消失或者或 setex key seconds value 例: ( setex sex 20 '男' )表示20秒后消失

全局key操作 改名:rename key newkey     keys * # 查看所有的  key del key # 删除 返回成功的个数   exists key # 查看key是否存在 返回存在个个数       type key # 查看key类型    expire key seconds #设置过期时间      persist key #移除过期时间

List:

List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据    在插入数据时,按照插入顺序排序,在列表的头部或者尾部添加元素,如果该键并不存在,Redis将为该键创建一个。

添加数据:rpush key value [value…]   在尾部添加数据 lpush key value [value…]   在头部添加数据

查看数据:返回列表中元素的值。index从0开始,当index超出索引时返回null    lindex key index

返回列表的长度  llen key   修改数据:lset key index value 根据下标修改 

删除数据:lpop key    删除左边第一个   rpop key    删除右边第一个

Hash类型

是一个键值(key=>value)对集合。是string 类型的 field 和 value 的映射表
     user                 { name:juhao,             age:18 }
user -> key(键)      name,age ->field(域)       juhao,18 ->value(值)

 

添加数据:

将field-value设置到hash表中,若key不存在会新建hash表再赋值,已存在则会覆盖;

hset key field value

 

查看域值:

hget key field

 

批量添加:

hmset key field value field2 value2

 

查看所有的value:

hvals key

 

查看所有的field:

hkeys key

 

# 获取多个 field

hmget key field[field...]

 

# 获取全部`field` 和 `value

hgetall key

 

 # 查看有几个键值对

hlen key

 

# 判断hash表中指定域是否存在,返回1,若key或field不存在则返回0;

hexists key field

 

# 删除

hdel key field

 


 

Set类型

元素为string类型
无序集合
元素具有唯一性,不重复

sadd key member [member...]     增加元素

将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素,

 

# 返回集合key中元素的个数

scard key

 

 # 获取集合中所有元素

smembers key

 

 # 判断集合存在某个值

判断member在key中是否已存在, 返回0或1 

sismember key member

 

 # 删除

 移除一个或多个元素,不存在的member会被忽略,返回被移除元素个数

srem key member [member...]

 

# 随机删除

spop key

移除并返回集合中的一个随机元素,当key不存在时返回NULL

 

 

zset类型

类似于Set,不同的是Sorted中的每个成员都分配了一个分数(Score)用于对其中的成员进行排序(升序)。
zset的成员是唯一的,但分数(score)却可以重复。

 

# 添加/修改

zadd key score member[ [score member] ..]

设置, 存在就更新

 

 

# 查看

zscore key member

查看score值

 

# 按索引返回key的成员, withscores表示显示score

zrange key start stop[withscores]

# 显示全部

  

 

# 返回集合中 score 在给定区间的元素

zrangebyscore key min max

 

# 删除

zrem key member [member...]

移除有序集合中的一个或多个元素,若member不存在则忽略;

 

# 删除集合中索引在给定区间的元素

zremrangebyrank min max

 

# 删除集合中 score 在给定区间的元素

zremrangebyscore  min max

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值