Redis五种数据结构

Redis是一款开源的可持久化型、key-value型数据库。

五种数据结构

Redis的key只能是String类型的字符串,value支持五种数据类型String, Set, List, Hash, ZSet

String类型

最简单的数据类型,一个key对应一个value, 这里的value的支持三种数据类型:字符串、浮点型、数字型。
String

简单命令:
1、set key-name value: 设置value值
2、get key-name : 根据key-name 获取value值
3、incr key-name : 根据key-name 让value自增,对数据类型有用
4、desc key-name : 根据key-name 让value自减,对数据类型有用
5、append key-name hello : 在key-value 原有的值后面追加hello
6、strlen key-name : 获取key-value的value值的长度
7、mset key1 value1 key2 valu2..: 同时设置多个值
8、mget key1 key2...:同时得到多个值
9、del key-name : 删除key-name
10、getset key-name value2: 将key-name的value值改为value2

Set类型

Set 是集合数据类型,无序,能够存储多个value值,不能存储重复的value值。
Set

常用命令:
1、sadd key-name value1 value2...: 给key-name 设置多个value值
2、srem key-name value1 value2...: 删除key-name 中的指定值
3、smembers key-name: 获取key-name中的所有元素
4、sismember key-name: 判断key-name是否存在
5、scard key-name : 获取key-name中的元素个数
6、spop key-name: 从key-name中随机弹出一个元素

List类型

List 是双向链表数据类型,支持反向遍历、查找等操作,有序(从左往右)。

能够存储多个value值,允许重复的value值。

List

简单命令:
1、lpush key-name value: 向链表key-name左边插入value
2、rpush key-name value:向链表key-name右边插入value
3、lpop key-name : 向key-name右边弹出元素
4、rpop key-name : 向key-name左边弹出元素
5、llen key-name: 获取key-name列表中的个数
6、lrange key-name start stop: 获取key-name列表中start 到 stop 之间的元素
7、lrem key-name count value: 删除元素,当count>0时从左边开始数,count< 0时从右边开始数,count=0时会删除所有值为value的元素
8、ltrim key-name start stop: 保留key-name中指定的值,包括start和stop

Hash类型

Hash是散列数据类型,无序,能够存储多个key-value值。

Hash

常用命令:
1、hset key-name field-name value: 给key-name 设置值
2、hmset key-name field-name1 value1 [field-name2 value2...]:设置多个值
3、hget key-name field: 获取key-name中field字段中的元素
4、hmget key-name field1 [field2]: 获取key-name 中的多个field字段元素
5、hgetall key-name: 获取key-name中的全部字段及元素
6、hexists key-name field : 判断key-name中的field字段是否存在
7、hsetnx key-name field value: 当key-name中的field不存在时赋值
8、hdel key-name field: 删除key-name中的field 字段
9、hkeys key-name : 获取key-name 中的所有字符
10、hvals key-name: 获取key-name中的所有元素
11、hlen key-name: 获取key-name字段数量

ZSet类型

ZSet有序集合数据类型,有序,能够存储多个value值,但是value只能是分值(分值就是指浮点型数据),集合中会根据value值默认排序.

ZSet

常用命令:
1、zadd key-name count1 value1 [count2 value2...]: 给key-name 设置多个值

数据库存活周期

Redis每种类型的数据都有一个默认的expire属性,我们可以自由设置时间(单位是秒),表示这个数据库的过期时间

1、expire key-name seconds: 设置时间单位为秒
2、ttl key-name: 查看key-name的过期时间
3、persist key-name: 取消key-name的过期时间设置

精确度: 如果在过期时间一秒内被访问,那么过期时间就将会被延迟一秒钟,在2.6.0 版本进行改进,延迟被降低在1毫秒之内。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值