Redis入门 五种基本数据结构

前言

Redis是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。

五种基本数据结构

String

String是Redis中最基本的数据类型,一个Key对应一个value。
String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。如数字,字符串,jpg图片或者序列化的对象。命令如下

命令简述用法
GET获取指定键的值GET KEY
SET为指定键赋值SET KEY VALUE
DEL删除存储在键中的值DEL KEY
INCR给指定键的值+1INCR KEY
DECR给指定键的值-1DECR KEY
INCRBY将指定键的值加上整数INCRBY KEY AMOUNT
DECRBY将指定键的值减去整数DECRBY KEY AMOUNT

List列表

使用List结构,我们能够轻松地实现最新消息排队功能。List另一个应用就是消息队列,可以利用List的push操作,将任务放入list中,然后工作线程再用pop操作将任务取出进行执行

命令简述用法
RPUSH将给定值推入列表右端RPUSH KEY VALUE
LPUSH将给定值推入列表左端LPUSH KEY VALUE
RPOP从列表右端弹出一个值,并返回RPOP KEY
LPOP从列表左端弹出一个值,并返回LPOP KEY
LRANGE获取列表在给定范围的所有值LRANGE KEY 0,-1
LINDEX通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。LINDEX KEY INDEX

使用列表的技巧:

  • lpush+lpop=Stack(栈)
  • lpush+rpop=Queue(队列)
  • lpush+ltrim=Capped Collection(有限集合)
  • lpush+brpop=Message Queue(消息队列)

Set集合

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

命令简述用法
SADD向集合中添加一个或多个成员GET KEY
SCARD获取集合的成员数SET KEY VALUE
SMEMBERS返回集合中的所有成员DEL KEY
SISMEMBER判断member元素是否是集合中的一员INCR KEY

ZSet有序集合

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
有续集合的成员是唯一的 ,但分数(scope)是可重复的
在这里插入图片描述

命令简述用法
ZADD将一个带有指定分值的成员添加到有序集合里面ZADD zset-key 178 member1
ZRANGE根据元素在有序集合中的位置,从集合中获取多个元素ZRANGE zset-key 0-1 withccores
ZREM如果有序集合中有这个元素,那么移除这个元素ZREM zset-key member1

Hash散列

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。

在这里插入图片描述

命令简述用法
HSET添加键值对HSET hash-key sub-key1 value1
HGET获取该散列键对应的值HGET hash-key key1
HGETALL返回所有键值对HGETALL hash-key
HDEL如果给定键存在,就移除这个键HDEL hash-key sub-key1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静为躁君S

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

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

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

打赏作者

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

抵扣说明:

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

余额充值