目录

一、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 命令参考 — Redis 命令参考


http://doc.redisfans.com/

进入redis

命令:redis-cli

redis  value增减操作 redis的增删改查命令_数据

查看数据库版本

命令:redis-cli -v

 

redis  value增减操作 redis的增删改查命令_缓存_02

切换数据库

  • redis的数据库默认有16个,通过0~15来标识,默认值选择第一个数据库

例(切换到第三个数据库):select 2         

  • select 后面是下标,注意命令结尾不加分号;

 

redis  value增减操作 redis的增删改查命令_缓存_03

退出redis

命令:exit

 

redis  value增减操作 redis的增删改查命令_数据_04



二、全面key操作

1、查看当前数据有哪些键

命令:keys *

 

redis  value增减操作 redis的增删改查命令_缓存_05

 2、创建数据

命令:set 键名 值

redis  value增减操作 redis的增删改查命令_nosql_06

 3、获取数据

命令:get 键名

redis  value增减操作 redis的增删改查命令_redis_07

4、获取数据如果显示是十六进制,那么重新进入redis

命令:redis-cli --raw

  • 例如:创建一个a2键,并向里面写入中文数据“大海”,并读取数据,发现数据被写为了十六进制

redis  value增减操作 redis的增删改查命令_缓存_08

  • 先退出redis,输入exit后回车

redis  value增减操作 redis的增删改查命令_数据_09

  • 然后再次进入数据,输入命令:redis-cli --raw

 

redis  value增减操作 redis的增删改查命令_数据_10

  • 接着进入第三个数据库,重新查看a2的值 ,这时我们才能读取到中文数据

 

redis  value增减操作 redis的增删改查命令_数据_11

5、查看key是否存在

  • 存在返回1,不存在返回0

命令:exists key

 

redis  value增减操作 redis的增删改查命令_缓存_12

6、查看名称中包含a的key 

命令:keys a*

redis  value增减操作 redis的增删改查命令_nosql_13

7、查看key的值的类型

 命令:type 键名

redis  value增减操作 redis的增删改查命令_添加数据_14

8、设置键的过期时间和查看过期时间

设置键的过期时间的命令:expire 键名 seconds (以秒为单位)

查看过期时间的命令:ttl 键名 (没有数据就返回 -2)

  •  设置键的过期时间后,当了过期时间,该键自动会被系统删除

redis  value增减操作 redis的增删改查命令_nosql_15



三、五种数据类型的增删改查 

1、string — 字符串

创建一个字符串

命令:set 键名 值

redis  value增减操作 redis的增删改查命令_缓存_16

添加数据

命令:append 键名 值          (在已有的数据后追加数据,返回值表示键中有的字符个数)

redis  value增减操作 redis的增删改查命令_添加数据_17

删除数据

命令:del 键名

 

redis  value增减操作 redis的增删改查命令_数据_18

设置多个键值

命令:meset 键1 值1 键2 值2 键3 值3……

redis  value增减操作 redis的增删改查命令_缓存_19

获取多个值

命令:mget  键1 键2 键3……

redis  value增减操作 redis的增删改查命令_添加数据_20

删除多个键

命令:del 键1 键2 键3……

redis  value增减操作 redis的增删改查命令_添加数据_21

2、list—列表

创建列表和添加数据

  • 执行添加数据的操作时会自动创建列表

左侧添加命令:lpush 键名 值        (lpush表示从左侧添加数据)

右侧添加命令:rpush 键名 值        (rpush表示从右侧添加数据)

 

redis  value增减操作 redis的增删改查命令_添加数据_22

p1键相当于:p1 = ['hallo']

查看数据

命令:lrange  键名  开始下标  结束下标        (从左边开始读取数据)

redis  value增减操作 redis的增删改查命令_添加数据_23

查看某个数据

命令:lindex 键名 下标

 

redis  value增减操作 redis的增删改查命令_缓存_24

插入多条数据

命令:lpush 键名 值1 值2 值3 ……

注意:rpush的插入多条数据的形式和lpush相同

 

redis  value增减操作 redis的增删改查命令_nosql_25

  • 插入多个数据过程解析:rpush p1 1 2 3 4,从右侧将数据插入

redis  value增减操作 redis的增删改查命令_添加数据_26

删除数据

 从后面开始删除(右边):rpop 键名

 从前面开始删除(左边):lpop 键名

删除后返回的是删除的数据

 

redis  value增减操作 redis的增删改查命令_缓存_27

3、hash类型—哈希

创建hash类型

例:hset h1 a 1

(这是键值对的嵌套:h1是键名,a是h1的值,而a是1的键名,1是a的值)

 

redis  value增减操作 redis的增删改查命令_缓存_28

查看所有hash类型中的值

例:hgetall h1

 

redis  value增减操作 redis的增删改查命令_添加数据_29

查看hash类型中的单个值 

例:hset h1 a

redis  value增减操作 redis的增删改查命令_缓存_30

查询所有的值

例:hvals h1

redis  value增减操作 redis的增删改查命令_nosql_31

 注意:对于h1的内部来说,a是键,不是值

查询所有的键

例:hkeys h1

 

redis  value增减操作 redis的增删改查命令_添加数据_32

4、set—集合 

集合的特点:无序,元素唯一,不重复。

创建集合和添加数据

  • 添加数据时就会自动创建集合

命令:sadd 键名 值

redis  value增减操作 redis的增删改查命令_redis_33

查看集合中的数据

命令:smembers 键名

 

redis  value增减操作 redis的增删改查命令_缓存_34

删除数据 

命令:spop 键名         (随即删除,返回的是删除的值)

 

redis  value增减操作 redis的增删改查命令_缓存_35

指定删除 

命令:srem 键名 值1 值2 ……  (可删除一个或多个,返回的结果是删除的个数)

  • 先向集合中写入几个数据

redis  value增减操作 redis的增删改查命令_数据_36

  • 指定删除数据 

redis  value增减操作 redis的增删改查命令_添加数据_37

 

redis  value增减操作 redis的增删改查命令_添加数据_38

5、zset—有序集合

有序集合的简单理解:每位成员(member)都会有一个分数,与关联成员是唯一的,分数是可以重复的。

创建有序集合和添加数据

  • 添加数据时就会自动创建有序集合

例:zadd 键名 10 zs    (10是分数,zs是成员) 

 

redis  value增减操作 redis的增删改查命令_缓存_39

查看数据 (查看成员)

  • 先向有序集合中写入两个数据

redis  value增减操作 redis的增删改查命令_redis_40

查看数据:zrange z1  0 10 (0是开始下标,10是结束下标)

redis  value增减操作 redis的增删改查命令_nosql_41

 通过分值去查看成员

例:zrangebyscore z1 1 20

(1是分数的最小值,20是分数的最大值,即查找分数在[1,20]的成员)

redis  value增减操作 redis的增删改查命令_添加数据_42



四、redis与python交互

在python中需要下载的模块:pip install redis

2、代码演示

例:在python中实现在redis的第二个数据库,创建一个表

  • 先查看第二个数据库中的表

redis  value增减操作 redis的增删改查命令_添加数据_43

  •  利用python在redis中创建一个键

redis  value增减操作 redis的增删改查命令_添加数据_44

  •  最后在redis中查看

redis  value增减操作 redis的增删改查命令_redis_45

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键中的值