Redis知识点一份简洁笔记总结(redis知识点笔记总结)

Redis知识点:一份简洁笔记总结

Redis(Remote Dictionary Server)是一个高性能的key-value数据库,可以在内存中存储数据,并将数据写入磁盘,同时支持多种数据结构的存储,如字符串、列表、集合、有序集合、哈希表等,因此被广泛用作缓存、消息队列、发布/订阅系统等。

本文将对Redis的一些重要概念和使用方法进行简洁总结。

1. 数据类型

Redis支持五种基本数据类型:字符串、列表、集合、有序集合和哈希表。下面是它们的基本使用方法:

字符串:

SET key value   // 设置键值对
GET key // 获取键值对

列表:

LPUSH key value1 value2      // 在左侧插入多个值
RPUSH key value1 value2 // 在右侧插入多个值
LPOP key // 弹出左侧的值
RPOP key // 弹出右侧的值
LLEN key // 获取列表长度

集合:

SADD key member1 member2     // 添加多个元素
SREM key member1 member2 // 删除多个元素
SMEMBERS key // 获取所有元素
SINTER key1 key2 // 获取两个集合的交集

有序集合:

ZADD key score1 member1 score2 member2   // 添加元素及其分数值
ZRANGE key start stop // 按分数值范围获取元素
ZRANK key member // 获取元素的排名

哈希表:

HSET key field1 value1          // 设置域的值
HSET key field2 value2
HGETALL key // 获取所有域及其值
HDEL key field1 // 删除域

2. 持久化

Redis支持两种持久化方式:RDB和AOF。RDB是将数据保存到磁盘上的快照,而AOF则是将操作日志保存到磁盘上,以便在服务重启时重新执行命令。

开启RDB持久化:

save 900 1        // 在900秒内至少有1个键被修改,则保存快照
save 300 10 // 在300秒内至少有10个键被修改,则保存快照
save 60 10000 // 在60秒内至少有10000个键被修改,则保存快照

开启AOF持久化:

appendonly yes       // 开启AOF
appendfsync always // 每次写入命令时都执行同步

3. 主从复制

Redis支持主从复制,可以将一个Redis实例的数据复制到另一个实例上,实现数据的备份、读写分离等功能。具体步骤如下:

– 在主节点上配置密码并开启主从复制:

requirepass password         // 设置密码
slaveof mymaster 6379 // 开启主从复制

– 在从节点上连接主节点并进行身份验证:

slaveof 127.0.0.1 6379      // 连接主节点
auth password // 进行身份验证

– 在主节点上执行写入操作,在从节点上执行读取操作,即可实现读写分离。

4. Lua脚本

Redis支持Lua脚本,可以使用它实现复杂的业务逻辑和事务操作。具体步骤如下:

– 编写Lua脚本,保存为文件:

-- 检查余额是否足够
if tonumber(redis.call('GET', KEYS[1])) >= tonumber(ARGV[1]) then
-- 扣减余额并返回结果
redis.call('DECRBY', KEYS[1], ARGV[1])
return 1
else
return 0
end

– 在Redis中加载脚本:

SCRIPT LOAD "脚本内容"

– 在Redis中执行脚本:

EVALSHA sha1 命令参数

5. 分布式锁

Redis可以通过SETNX命令实现分布式锁。具体步骤如下:

– 在客户端尝试获取锁:

SETNX my_lock 1           // 尝试将键my_lock的值设为1

– 如果返回1,则获取锁成功;否则表示锁已经被其他客户端获取。

– 在客户端释放锁:

DEL my_lock               // 删除键my_lock

本文仅介绍了Redis的一部分重要概念和使用方法,更多内容请参考Redis官方文档。


数据运维技术 » Redis知识点一份简洁笔记总结(redis知识点笔记总结)