目录
一、Redis简介和常用命令
1、Reids简介
2、redis常用命令
进入redis
查看数据库版本
切换数据库
退出redis
二、全面key操作
1、查看当前数据有哪些键
2、创建数据
3、获取数据
4、获取数据如果显示是十六进制,那么重新进入redis
5、查看key是否存在
6、查看名称中包含a的key
7、查看key的值的类型
8、设置键的过期时间和查看过期时间
三、五种数据类型的增删改查
1、string — 字符串
创建一个字符串
添加数据
删除数据
设置多个键值
获取多个值
删除多个键
2、list—列表
创建列表和添加数据
查看数据
查看某个数据
插入多条数据
删除数据
3、hash类型—哈希
创建hash类型
查看所有hash类型中的值
查看hash类型中的单个值
查询所有的值
查询所有的键
4、set—集合
创建集合和添加数据
查看集合中的数据
删除数据
指定删除
5、zset—有序集合
创建有序集合和添加数据
查看数据 (查看成员)
通过分值去查看成员
四、redis与python交互
2、代码演示
1、附源代码
一、Redis简介和常用命令
1、Reids简介
-
redis:非关系型数据库
- 使用键值对存储数据
- 存储的时候是单条数据,并且数据之间没有联系。
2、redis常用命令
Redis 命令参考 — Redis 命令参考http://doc.redisfans.com/
命令:redis-cli
命令:redis-cli -v
-
切换数据库
- redis的数据库默认有16个,通过0~15来标识,默认值选择第一个数据库
例(切换到第三个数据库):select 2
命令:exit
二、全面key操作
1、查看当前数据有哪些键
命令:keys *
2、创建数据
命令:set 键名 值
3、获取数据
命令:get 键名
4、获取数据如果显示是十六进制,那么重新进入redis
命令:redis-cli --raw
- 例如:创建一个a2键,并向里面写入中文数据“大海”,并读取数据,发现数据被写为了十六进制
-
然后再次进入数据,输入命令:redis-cli --raw
- 接着进入第三个数据库,重新查看a2的值 ,这时我们才能读取到中文数据
5、查看key是否存在
命令:exists key
6、查看名称中包含a的key
命令:keys a*
7、查看key的值的类型
命令:type 键名
8、设置键的过期时间和查看过期时间
设置键的过期时间的命令:expire 键名 seconds (以秒为单位)
查看过期时间的命令:ttl 键名 (没有数据就返回 -2)
- 设置键的过期时间后,当了过期时间,该键自动会被系统删除
三、五种数据类型的增删改查
1、string — 字符串
命令:set 键名 值
命令:append 键名 值 (在已有的数据后追加数据,返回值表示键中有的字符个数)
命令:del 键名
命令:meset 键1 值1 键2 值2 键3 值3……
命令:mget 键1 键2 键3……
命令:del 键1 键2 键3……
2、list—列表
-
创建列表和添加数据
-
执行添加数据的操作时会自动创建列表
左侧添加命令:lpush 键名 值 (lpush表示从左侧添加数据)
右侧添加命令:rpush 键名 值 (rpush表示从右侧添加数据)
p1键相当于:p1 = ['hallo']
命令:lrange 键名 开始下标 结束下标 (从左边开始读取数据)
命令:lindex 键名 下标
命令:lpush 键名 值1 值2 值3 ……
注意:rpush的插入多条数据的形式和lpush相同
- 插入多个数据过程解析:rpush p1 1 2 3 4,从右侧将数据插入
从后面开始删除(右边):rpop 键名
从前面开始删除(左边):lpop 键名
删除后返回的是删除的数据
3、hash类型—哈希
例:hset h1 a 1
(这是键值对的嵌套:h1是键名,a是h1的值,而a是1的键名,1是a的值)
例:hgetall h1
例:hset h1 a
例:hvals h1
注意:对于h1的内部来说,a是键,不是值
例:hkeys h1
4、set—集合
集合的特点:无序,元素唯一,不重复。
命令:sadd 键名 值
命令:smembers 键名
命令:spop 键名 (随即删除,返回的是删除的值)
命令:srem 键名 值1 值2 …… (可删除一个或多个,返回的结果是删除的个数)
5、zset—有序集合
有序集合的简单理解:每位成员(member)都会有一个分数,与关联成员是唯一的,分数是可以重复的。
-
创建有序集合和添加数据
- 添加数据时就会自动创建有序集合
例:zadd 键名 10 zs (10是分数,zs是成员)
-
查看数据 (查看成员)
- 先向有序集合中写入两个数据
查看数据:zrange z1 0 10 (0是开始下标,10是结束下标)
例:zrangebyscore z1 1 20
(1是分数的最小值,20是分数的最大值,即查找分数在[1,20]的成员)
四、redis与python交互
在python中需要下载的模块:pip install redis
2、代码演示
例:在python中实现在redis的第二个数据库,创建一个表
1、附源代码
import redis
#连接redis数据库
#写入的KV对中V为string类型,不加则写入的为字节类型,设置decod_response=True 表示写入的类型是str
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=1, decode_response=True)
st = redis.Redis(connection_pool=pool)
# 创建一个键
st.set('python', 'So nice') # python是键名,So nice是值
print(st.get('python')) # 获取python键中的值