【笔记】redis

简介

redis全称remote dictionary server,是开源的基于内存的数据存储系统

支持:

  • 五种基本数据类型:
    • 字符串(String):存储文本、数字或二进制数据,支持常见的增、查、改、删操作。
    • 列表(List):有序的字符串集合,可以从两端添加或删除元素,适合实现队列和栈。
    • 集合(Set):无序的字符串集合,不允许重复元素,适合做去重和集合运算。
    • 有序集合(SortedSet):类似集合,但每个元素有一个分数,按分数排序,适合做排行榜等。
    • 哈希(Hash):键值对的集合,用于存储对象(如用户信息),可以按字段操作。
  • 五种高级数据类型:
    • 消息队列(Stream):用于存储和处理消息流,支持生产者-消费者模式。
    • 地理空间(Geospatial):存储经纬度数据,支持地理位置查询和距离计算。
    • HyperLogLog:用于估算不同元素的基数(不重复元素的数量),内存占用极少,适合大规模统计。
    • 位图(Bitmap):按位存储数据,用于高效的开关标记和状态记录。
    • 位域(Bitfield):操作二进制位的结构,支持复杂的位级别处理和统计。

 下载与启动:

安装:

  1. WSL中安装(windows的linux子系统,Windows Subsystem for Linux)

        打开powershell,输入wsl,即可输入bash语法

  1. docker安装

  2. windows的.msi文件安装

启动服务端:

bash中:redis-server
powershell中:redis-server.exe

启动客户端:

一般先启动服务,然后在客户端连过去,写redis命令

不支持中文查看:
redis-cli

支持中文查看:
redis-cli --raw

redisInsight

可视化管理redis服务的应用

redis常用命令:

string

  • redis中的数据是以键值对的形式存储的
  • redis区分大小写
  • 设置数据:SET my_key my_value
  • 获取数据:GET my_key
  • 删除数据:DEL my_key
  • 判断是否存在:EXISTS my_key
  • 查看都有哪些键:KEYS *
  • 删除所有键:FlUSHALL
  • 清空屏幕:clear
  • 查看某键的过期时间(-1:无过期时间 -2:已过期):TTL my_key
  • 设置过期时间为10s:
    • EXPIRE my_key 10
    • SETEX my_key 10 my_value
  • 只有键不存在时才设置键的值,存在则不设置:SETNX my_key my_value

list

  • 插入列表:LPUSH list a
  • 获取起始位置s到结束为止e的列表元素:LRANGE list 0 -1
  • 删除头部or尾部的n个元素:LPOP list n   RPOP list n
  • 查看长度:LLEN list
  • 只保留start和stop之间的元素,其余删除:LTRIM list start stop

set

  • 添加:SADD 集合 元素
  • 查看:SMEMBERS 集合
  • 判断是否在集合中:SISMEMBER 集合 元素
  • 删除:SREM 集合 元素
  • 集合之间也支持运算

SortedSet,也叫Zset

Hash

添加:HSET person name laoyang

获取值:HGETALL person 或 HGET person name

获取所有键:HKEYS person

发布订阅功能

发布:PUBLISH

订阅:SUBSCRIBE

局限性:无法持久化、无法记录历史消息

Stream

添加消息:XADD

查看数量:XLEN

查看消息内容:XRANGE

删除:XDEL 或 XRANGE

读取消息:XREAD(可以只读取最新消息)

创建消费者组:XGROUP CREATE 频道名 组名 组id

查看组信息:XINFO GROUPS 频道名

创建消费者:XGROUP CREATECONSUMER 频道名 组名 消费者名

消费者读取消息:XREADEGROUP GROUP 组名 消费者名 COUNT 消息数 BLOCK 3000(如没有消息,阻塞3000ms) STREAMS 频道名 >(表示读取最新消息) 

bit

设置偏移量的值:SETBIT

获取偏移量的值:GETBIT

查看多少个1:BITCOUNT

第一个出现0或1的位置:BITPOS

bitfield

redis事务

MULTI开启事务,然后执行一系列命令,都放入缓存队列中,EXEC命令会执行所有队列中的命令,有的会成功有的会失败,互不影响

redis持久化

  • RDB (Redis Database):.rdb文件,即为快照文件,更适合备份
  • AOF (Append Only File):.aof文件,实时追加每一个写操作

主从复制

主节点与从节点是一对多的关系,主节点负责数据的修改,从节点负责数据的读取,从节点通过主从复制维持与主节点的一致性

哨兵模式

即自动故障转移,哨兵的三大作用:

  1. 不断发布消息,保证节点正常工作
  2. 某个节点出问题,通过发布订阅通知其他节点
  3. 自动故障转移,选择新主节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值