redis 基本操作
为什么学习 redis,前几天有个需求,用到了 redis 库,之前学习过但仅限于大学的时候,这个时候差不多忘光了,需求测的时候也是现学的几个查询指令。印象最深的是开发设计的时候存储了 10 个不同 key 值但 value(list 字符串)相同的数据,当时问过为什么要存十个,解释为 “为了防止频繁的访问一个 key 导致的热 key 问题,所以存储 10 个相同 value 的 key,随机访问,分散压力”。后面查询资料才发现,频繁访问一个会导致 CPU 资源过载,内存资源紧张,负载不均衡等问题。
一.环境搭建
我是直接在网上下载的 win redis-x64.zip 压缩包,解压到本地后可以看到两个文件,一个是 redis-server.exe redis 服务启动程序,另一个是 redis-cli.exe redis 客户端操作程序。压缩包地址:https://pan.baidu.com/s/1t_NpWnE_qj4TvyESyvXYDA?pwd=4c0a 提取码:4c0a
二.基本使用
1.启动服务
2.打开 redis 客户端连接
输入 ping 返回 PONG 即连接成功

ip 默认本地 ip,端口默认 6379
3.切换库

4.设置 key 和 value 值

5.停止服务
6.其它常用操作
dbsize:查看当前库 key 值数量
flushdb:删除当前库所有数据
exit:退出客户端连接
keys *:查看当前库所有 key 值(还可模糊匹配:*通配符,?占位符,例:*明*,*ming,li*)
exists key:判断 key 是否存在(例:exists name 存在返回 1,不存在返回 0)
expire key seconds:设置 key 过期时间(例如:expire name 30,设置 name 存活 30s,30 秒后 key 会失效删除)
ttl key:查询 key 剩余存活时间(-1 表示未设置存活时间,永久生效,-2 已失效,存活时间已过,正数表示剩余存活时间)
type key:查询 vaule 数据类型
del key:删除 key
append key value:在当前 value 末尾追加内容
strlen key:返回 value 长度
三.存储类型
1.string
字符串是 Redis 中最基本的数据类型,可以存储任何形式的字符串,包括数字、文本等
存储时使用:set key value(通过 set 存储的 value 都是 string 类型)
2.哈希(Hash)
哈希类型是一个键值对的集合,适用于存储对象类型的数据。每个哈希表可以包含多个字段和值,非常适合表示具有多个属性的数据对象
1)HSET key field value:设置哈希表字段的值。
2)HGET key field:获取哈希表字段的值。
3)HDEL key field:删除哈希表的某个字段
3.列表(list)
列表是一个双向链表,支持在列表的两端进行高效的插入和删除操作
1)声明一个 key,value 值为 list 的
2)添加多个 vallue
3)根据下标查询 value list 值
4)向 list 右侧添加 value 值
5)向右侧添加单个元素值
6)向左添加单个元素值
7)通过下标获取对应的元素值
8)删除最左侧的值
9)删除最右侧的值
10)删除
11)查询 list 长度
12)插入元素
4.集合(set)
集合是一种无序、不重复的数据类型。Redis 提供了高效的集合操作,如求交集、并集、差集等
1)创建一个 set 类型的 value 值
2)查看全部的 value 值
3)判断 value 值是否存在
4)判断元素个数
5)删除元素
5.有序集合(zset)
有序集合与普通集合类似,但每个元素都有一个关联的分数(score),Redis 会根据分数对元素进行自动排序
1)ZADD key score member:向有序集合中添加元素并指定分数
2)ZRANGE key start stop:获取指定范围内的有序集合成员
3)ZREM key member:删除有序集合中的某个元素
四.python 操作
1.安装 redis 库
2.实例操作
操作方法和 dos 差不多,r 为 redis 实例化对象,直接用 r.的方式调用方法操作即可。
3.python 实现随机访问 key 来避免频繁的访问一个 key 导致的热 key 问题
文章转载自:余生没有余生
评论