一、了解 Redis 的基本概念和优势
1.概念:基本概念:Redis 是一个开源的、高性能的键值对数据库。
2.优势
- 快速:Redis 支持多种类型的数据结构,能够快速访问数据。
- 数据持久化:Redis 支持数据持久化,可以将内存中的数据保存到磁盘中。
- 分布式:Redis 支持主从复制和哨兵系统,能够实现分布式存储。
二、搭建 Redis 开发环境
-
安装 Redis:在官方网站下载 Redis 安装包,并按照说明进行安装。
-
启动和配置 Redis:了解 Redis 的配置文件 redis.conf,启动 Redis 服务。
-
安装 Redis 客户端:安装 Redis 客户端,如 redis-cli,用于与 Redis 交互。
三、学习 Redis 的基本操作和数据结构
-
字符串(String):学习对字符串进行设置和获取值、自增自减等操作。
-
列表(List):了解如何使用列表进行 push/pop 操作,以及其它列表相关操作。
-
集合(Set):学习集合的添加、删除、查询等操作,以及集合间的运算。
-
哈希(Hash):了解哈希结构的使用,如设置和获取字段值等。
-
有序集合(Sorted Set):掌握有序集合的添加、删除、查询等操作,以及根据分数范围查询元素。
四、深入学习 Redis 的高级特性
-
持久化:了解 Redis 的 RDB 和 AOF 持久化机制,以及如何选择合适的持久化策略。
-
事务:学习 Redis 的事务特性,了解如何使用 MULTI、EXEC、DISCARD 和 WATCH 命令。
-
管道:掌握 Redis 管道技术,减少客户端与服务器之间的往返次数,提高性能。
-
发布/订阅:了解 Redis 的发布/订阅模式,以及如何实现消息通知和消息队列。
五、实践 Redis 的应用场景
-
缓存:学习如何使用 Redis 作为缓存提高系统性能。
-
排行榜:了解如何使用 Redis 的有序集合实现排行榜功能。
-
分布式锁:掌握如何使用 Redis 实现分布式锁,解决分布式系统中的同步问题。
-
消息队列:学习如何使用 Redis 的发布/订阅功能实现消息队列
六、Redis的相关操作
1.Redis中库说明
-
使用redis的默认配置器动redis服务后,默认会存在16个库,编号从0-15
-
可以使用select 库的编号 来选择一个redis的库
2.redis中操作库的指令
-
清空当前的库 FLUSHDB
-
清空全部的库 FLUSHAL
3.redis客服端显示中文
-
./redis-cli -p 7000 --raw
七、操作key相关指令
1.DEL指令
-
语法 : DEL key [key ...]
-
作用 : 删除给定的一个或多个key 。不存在的key 会被忽略。
-
可用版本: >= 1.0.0
-
返回值: 被删除key 的数量。
exitsts指令
-
语法: EXISTS key
-
作用: 检查给定key 是否存在。
-
可用版本: >= 1.0.0
-
返回值: 若key 存在,返回1 ,否则返回0。
expire指令
-
语法: EXPIRE key seconds
-
作用: 为给定key 设置生存时间,当key 过期时(生存时间为0 ),它会被自动删除。
-
可用版本: >= 1.0.0
-
时间复杂度: O(1)
-
返回值:设置成功返回1 。
keys
-
语法 : KEYS pattern
-
作用 : 查找所有符合给定模式pattern 的key 。
-
语法:KEYS * 匹配数据库中所有key 。KEYS h?llo 匹配hello ,hallo 和hxllo 等。KEYS h*llo 匹配hllo 和heeeeello 等。KEYS h[ae]llo 匹配hello 和hallo ,但不匹配hillo 。特殊符号用 "\" 隔开
-
可用版本: >= 1.0.0
-
返回值: 符合给定模式的key 列表。
ttl
-
语法 : TTL key
-
作用 : 以秒为单位,返回给定key 的剩余生存时间(TTL, time to live)。
-
可用版本: >= 1.0.0
-
返回值:当key 不存在时,返回-2 。当key 存在但没有设置剩余生存时间时,返回-1 。否则,以秒为单位,返回key 的剩余生存时间。
-
Note : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1 。
rename
-
语法 : RENAME key newkey
-
作用 : 将key 改名为newkey 。当key 和newkey 相同,或者key 不存在时,返回一个错误。当newkey 已经存在时,RENAME 命令将覆盖旧值。
-
可用版本: >= 1.0.0
-
返回值: 改名成功时提示OK ,失败时候返回一个错误。
type
语法 : TYPE key
作用 : 返回key 所储存的值的类型。
可用版本: >= 1.0.0
返回值:none (key 不存在)string (字符串)list (列表)set (集合)zset (有序集)hash (哈希表)
常用操作命令
命令 | 说明 |
---|---|
hset | 设置一个key/value对 |
hget | 获得一个key对应的value |
hgetall | 获得所有的key/value对 |
hdel | 删除某一个key/value对 |
hexists | 判断一个key是否存在 |
hkeys | 获得所有的key |
hvals | 获得所有的value |
hmset | 设置多个key/value |
hmget | 获得多个key的value |
hsetnx | 设置一个不存在的key的值 |
hincrby | 为value进行加法运算 |
hincrbyfloat | 为value加入浮点值 |
hset 集合名 key value hset key key value
hset 集合 key