目录
- 1. Redis介绍
- 2. Redis的安装和使用
- 3. Redis常用五大数据类型
- 3.1 redis-string
- 3.2 redis-list(单值多value)
- 1. lpush/rpush/lrange
- 2. lpop/rpop
- 3. lindex,按照索引下标获得元素(从上到下)
- 4. llen,求列表长度
- 5. lrem key
- 6.ltrim key
- 7. rpoplpush list1 list2 将list1中最后一个压入list2中第一位
- 8. lset key index value
- 9. linsert key before/after
- 3.3 redis-Hash
- 3.4 redis-set(不重复的)
- 1. sadd/smembers/sismember
- 2.scard
- 3.srem key value
- 4. srandmember key
- 5. spop key
- 6. smove key1 key2
- 7. 数学集合类
- 3.5 redis-Zset
- 4. 更多命令
1. Redis介绍
1.1 Redis是什么
- Redis是一个高性能的,开源的,C语言开发的,键值对存储数据的nosql数据库。
- NoSQL:not only sql,泛指非关系型数据库:Redis/MongoDB/Hbase Hadoop
- 关系型数据库:MySQL、oracle、SqlServer
1.2 Redis特性
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
- Redis不仅仅支持简单的key-value类型的数据,同时还提供List,set等数据类型
- Redis支持数据的备份
1.3 Redis的作用
Redis的主要作用:快速存取
1.4 Redis应用场景
点赞/秒杀/直播平台的在线好友列表/商品排行榜/单点登录
1.5 如何使用Redis
官网地址:https://redis.io/
2. Redis的安装和使用
2.1 在命令提示符中的安装
- pip install redis
2.2 Redis下载
Redis目前的版本是6.0.5,对于windows系统来说目前只能下载3.0.5版本,然而基础用法都是不变的,这里我们也不必太苛求版本。以下是已经下载的Redis的链接分享,从百度网盘中解压即可:
链接:https://pan.baidu.com/s/1zdYURr-mhhzCO3YGvzrICA
提取码:djh0
2.3 Redis在cmd中如何使用
首先win+R打开运行窗口,在cmd界面cd进入电脑中存放下载好的redis的路径,然后输入 redis-server.exe,显示这个界面则代表成功打开:
接下来另外打开一个cmd界面,依然cd进入redis的存放路径,然后输入redis-cli.exe,出现如下界面则表示成功连接:
接下来就可以来使用Redis了!
2.4 Redis数据库简单使用
DBSIZE 查看当前数据库的key数量
keys * 查看key的内容
FLUSHDB 清空当前数据库的key的数量
FLUSHALL 清空所有库的key(慎用)
exists key 判断key是否存在
3. Redis常用五大数据类型
3.1 redis-string
string是redis最基本的类型,一个key对应一个value
string可以包含任何数据,最大不能超过512M
1. set/get/del/append/strlen
set ---- 设置值
get ---- 获取值
mset ---- 设置多个值
mget ---- 获取多个值
append ---- 添加字段
del ---- 删除
strlen ---- 返回字符串长度
2. incr/decr/incrby/decrby
incr ---- 增加
decr ---- 减少
incrby ----- 制定增加多少
decrby ----- 制定减少多少
3. getrange/setrange
getrange ---- 获取指定区间范围内的值,类似between…and的关系
setrange ---- 代表从第几位开始替换,下脚本从零开始
从0 -1表示全部
3.2 redis-list(单值多value)
List(列表)
列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素列表的头部(左边)或者尾部(右边)
它的底层实际是个链表
1. lpush/rpush/lrange
lpush/rpush/lrange ---- 从左/从右/获取指定长度
lpush list01 1 2 3 4 5 倒序排列
rpush list02 1 2 3 4 5 正序排列
lrange list01 0 -1 获取list01 中的所有值
2. lpop/rpop
lpop/rpop ---- 移除最左/最右
lpop list01 删除元素5
rpop list01 删除元素1
3. lindex,按照索引下标获得元素(从上到下)
lrange list01 0 -1
lindex list01 1
4. llen,求列表长度
llen list01
5. lrem key
删N个value
lrem list01 2 1 在list01中删除2个1
6.ltrim key
ltrim ---- 开始index结束index,截取指定范围的值后在赋值给key
ltrim list01 0 2 截取list01 从0到2的数据在赋值给list01
7. rpoplpush list1 list2 将list1中最后一个压入list2中第一位
lrange list01 0 -1
lrange list02 0 -1
rpoplpush list1 list2
8. lset key index value
lset list01 0 x 将list02中第一位换成x
9. linsert key before/after
linsert list01b before x php 在x之前加字段php
3.3 redis-Hash
hash是一个键值对集合
hash是一个string类型的field和value的映射表,hash特别适合存储对象

Set(集合)
set是string类型的无序集合
1. sadd/smembers/sismember
sadd/smembers/sismember ---- 添加/查看集合/查看是否存在
sadd set01 1 2 2 3 3 去掉重复添加
smembers set01 得到set01
sismember set01 1 如果存在返回1 不存在返回0
2.scard
scard ---- 获取集合里面的元素个数
scard set01
3.srem key value
srem ---- 删除集合中元素
srem set01 3
SMEMBERS set01 3已经被删除掉
4. srandmember key
srandmembe ---- 随机出几个数
sadd set02 1 2 3 4 5 6 7 8
srandmember set02 2
5. spop key
spop ---- 随机出栈
spop set01
6. smove key1 key2
sadd set03 x y z
smove set01 set03 2 将set01中的2 移动到set03中
7. 数学集合类
sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b
差集
SDIFF set01 set02 返回 4 5 在第一个set中不在第二个set中
交集
SINTER set01 set02 返回 1 2 3
并集
SUNION set01 set02 返回set01 set02 中的值 去掉重复
3.5 redis-Zset
Zset(有序集合)
1. zadd/zrange
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1
带分数返回 withscores
2. zrangebyscore key start end
zrangebyscore key start end----根据开始结束来取值
zrangebyscore zset01 60 70
zrangebyscore zset01 60 (90 表示不包含90
zrangebyscore zset01 60 90 limit 1 2 从第一条开始截取2条
3. zrem key
zrem key value---- 某score下对应的value值,作用是删除元素
zrem zset01 v1
4. zcard/zcount key score区间 /zrank key values
zcard 求zset01 总条数
zcount zset01 60 90 求60-90个数
zrank zset01 v2 返回1 返回对应下角标,从0开始
4. 更多命令
更多Redis命令:http://doc.redisfans.com/