《Redis 入门指南:快速掌握高性能缓存技术》

发布于:2025-03-04 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

一、准备工作

二、操作数据库

2.1 切换数据库

2.2 存储和查看数据

一、存储语法

二、一次性存储多个键值对

三、追加值

四、查看值的类型

五、查询值

六、一次查询多个值

 七、查看当下数据库所有的键

八、删除键

九、查看 键 是否存在

十、重命名键

2.3 过期时间管理

2.4 列表(Lists)

2.5 集合(Set)

2.6 有序集合(Sorted Set)

2.7 哈希(Hash)

三、公共操作

四、redis与python交互 


一、准备工作

安装redis非常简单,只需要下载压缩文件解压即可

链接:redis-latest.rar官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

提取码:1024

下载完成后按照以下步骤开启服务

第一步:先找到解压的文件,可以选择在该文件夹内的导航栏输入cmd回车或者直接双击redis-server二选一打开终端

第二步:在终端输入 redis-server 开启服务

注意:这个窗口不能关闭

第三步:重开一个终端输入 redis-cli  【在导航栏输入的cmd打开的终端】

然后就可以在这里操作 redis数据库了 


二、操作数据库

redis支持16个数据库(自带,不可减少或增加),编号从0到15,默认进入0号数据库,redis是以键值对存储的,与MySQL不同,没有表格概念,区分大小写

2.1 切换数据库

select 数据库编号  # 进入指定数据库

例如:进入 2 号数据库

select 1


2.2 存储和查看数据

 一、存储语法

设置键值对:set 键 值

set s1 lysir
set s2 零一先生

注意:存储中文字符时,需在进入 Redis 时使用 redis-cli --raw,否则显示乱码,但存储是成功的。

 二、一次性存储多个键值对

语法:mset 键1 值1 键2 值2 ...

mset s3 AA s4 BB s5 CC

三、追加值

语法:append 键 追加的值

append s3 aa  # 结果变为 AAaa

四、查看值的类型

语法:type 键

type s1

五、查询值

语法:get 键

get s1

六、一次查询多个值

语法:mget 键1 键2 ...

mget s1 s3 s5

 七、查看当下数据库所有的键

语法:keys *

八、删除键

语法:del 键1 键2 ...

del s1 s3

九、查看 键 是否存在

语法:exists 键

返回值:存在返回 1,不存在返回 0

exists s2

十、重命名键

语法:rename 旧键 新键

rename s2 new_s1


2.3 过期时间管理

当键超过设定的时间之后就会自动失效删除

  • 设置键的过期时间
    expire 键 时间(秒)

  • 查看键的剩余生存时间
    ttl 键
    返回值:

    • -2:键已过期

    • -1:键不存在或未设置过期时间

  • 取消键的过期时间
    persist 键


2.4 列表(Lists)

  • 特点:有序、可重复、动态(可在两端添加)。

  • 1、从左边插入数据
    lpush 列表键 值1 值2 ... 值

示例:

lpush L1 A B C D lysir

  • 2、从右边插入数据
    rpush 列表键 值1 值2 ... 值N

示例:

rpush R1 E F G H lysir

3、查看列表内容
lrange 列表键 开始位置 结束位置

lrange L1 0 -1  # -1 表示到末尾

  • 从左边删除一个元素
    lpop 列表键

  • 从右边删除一个元素
    rpop 列表键

  • 删除整个列表
    del 列表键

4、获取指定索引的元素
lindex 列表键 索引

lindex R1 3

5、修改指定索引的元素值
lset 列表键 下标 值

lset L1 3 china


2.5 集合(Set)

  • 特点:无序、唯一、动态。

1、添加元素到集合
sadd 集合键 值1 值2 ... 值N
示例:

sadd set1 v1 v2 v3 v4 v5

2、查看集合中所有成员
smembers 集合键

smembers set1

3、检查元素是否在集合中
sismember 集合键 值
返回值:存在返回 1,不存在返回 0

sismember set1 v6

4、删除集合中的元素
srem 集合键 值1 值2 ...

srem set1 v1 v2 v5


2.6 有序集合(Sorted Set)

  • 特点:有序(有下标)、唯一、每个元素关联一个分数(用于排序),动态。

1、添加元素到有序集合
zadd 键 分数1 值1 分数2 值2 ... 分数N 值N

zadd sset1 80 A 90 B 100 C 98 D 88 E

2、获取有序集合的元素
zrange 键 起始下标 结束下标

zrange sset1 0 -1  # -1 表示到末尾

3、获取有序集合的分数
zscore 键 值

zscore sset1 A

  • 4、获取有序集合的元素及分数

    • 正序查看:
      zrange 键 起始下标 结束下标 withscores

    • zrange sset1 0 -1 withscores
    • 倒序查看:
      zrevrange 键 起始下标 结束下标 withscores

    • zrevrange sset1 0 -1 withscores

  • 5、根据分数筛选查询
    zrangebyscore 键 最小分数 最大分数

zrangebyscore sset1 80 90

6、修改指定成员的分数
zincrby 键 要修改的分数(正数是加 负数是减)  值

zincrby sset1 200 B
zincrby sset1 -50 C

7、删除有序集合中的元素
zrem 键 值1 值2 ... 值N

zrem sset1 A C D


 2.7 哈希(Hash)

  • 特点:键值对存储(一个键对应多个值),无序、动态。

1、单个设置

语法:hset 哈希键 字段 值 

2、多个设置

hmset 哈希键 字段1 值1 字段2 值2 ...

hmset HXuser name zhou age 18 msg xxx

 3、获取哈希表的值

  • 获取单个值:
    hget 哈希键 字段

  • 获取多个值:
    hmget 哈希键 字段1 字段2 ...

hmget HXuser name age msg

4、获取哈希表所有 字段 及 值

  • 获取所有值:
    hvals 哈希键

  • 获取所有字段:
    hkeys 哈希键

  • 获取所有键值:
    hgetall 哈希键

hgetall HXuser

5、检查哈希表中是否存 在 某个字段

hexists 哈希键 字段
返回值:存在返回 1,不存在返回 0

hexists HXuser china

7、删除哈希表 字段

hdel 哈希键 字段1 字段2 ...
返回值:实际删除的字段数量。

hdel HXuser age msg


三、公共操作

  • 查看所有键
    keys *

  • 清空当前数据库
    flushdb

  • 清空所有数据库
    flushall
    注意:此操作不可逆,会清空所有 16 个数据库的数据。

特别注意

  • Redis 数据默认存储在内存中,服务关闭后数据会丢失。若需持久化存储,请查阅相关文档。


四、redis与python交互 

redis并不是内置模块,所以需要先下载 redis 模块

安装Redis库: 

pip install redis -i https://mirrors.aliyun.com/pypi/simple/

下面是python与redis交互演示代码

# 1 导包
import redis
# 2建立连接
db_con = {
    'host':'127.0.0.1',  #主机
    'port':6379, # 端口
    'db':0   #连接哪个数据库
}
# 3连接Ridis服务器(会返回一个连接对象)
r = redis.Redis(**db_con)
print(r)

# 4对数据库进行操作
# 设置键值对=> r.set('key1','value1')
#a.新增
r.set('name','tonny')
#b.查询(获取)
name = r.get('name')
print(name)

#其他操作也都可以通过 r.出来(点出来)

# 5最后记得关闭连接
r.close()

温馨提示:

1,必须确保 redis 服务器正常开启了,否则会连接失败

2,redis 端口号可以在开启服务器的界面查看

 


网站公告

今日签到

点亮在社区的每一天
去签到