前言:
redis是缓存,常用的一些数据,我们为了提升接口效率,缓存是必须的功能。
一、具体介绍
1、Redis为什么这么快
- Redis是纯内存操作,需要的时候需要我们手动持久化到硬盘中
- Redis是单线程,从而避开了多线程中上下文频繁切换的操作。
- Redis数据结构简单、对数据的操作也比较简单
- 使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求
- 使用多路I/O复用模型,非阻塞I/O
2、Redis地址
- 官网地址:https://redis.io/
- redis中文地址:https://redis.io/
- 命令地址:http://doc.redisfans.com/
3、安装详细教程:
4、Redis的配置文件
/etc/redis/redis.conf
当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
daemonize no
监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
port 6379
设置数据库的数目。
databases 16
根据给定的时间间隔和写入次数将数据保存到磁盘
下面的例子的意思是:
900 秒内如果至少有 1 个 key 的值变化,则保存
300 秒内如果至少有 10 个 key 的值变化,则保存
60 秒内如果至少有 10000 个 key 的值变化,则保存
save 900 1
save 300 10
save 60 10000
监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
port 6379
bind 127.0.0.1 //Redis默认只允许本地连接,不允许其他机器连接
5、Redis数据库简单使用:
dbsize 查看当前数据库的key数量
keys * 查看所有的key的内容
flushdb 清空当前数据库的key的数量
flushall 清空所有库的key
exists key 判断key是否存在
type key 查看数据的类型
setex key second value 设置key、value并创建出来
ttl key 查看多久后过期
expire key second 设置key过期时间
二、具体操作:增删改查 这里重点介绍string
1、string 类型的数据
增(增key):append key keyName
改(改key对应的值):set key value
改多个:set key1 value1 key2 value2
查(查key对应的值):get key
查多个:mget key1 key2 key3
删:del key1 key2
返回字符串长度:strlen key
依次增1: incr key value 比如: incr num 结果:num就变成了原来数据+1
依次减1: decr key value 比如: incr num 结果:num就变成了原来数据-1
规定加多少:incrby key 3
规定减多少:decrby key 2
获取指定下标范围内的字符串:getrange key start end
从第几位开始就开始替换: setrange key 下标num 内容
例如:setrange key 5 demo 结果:"smalldemo"
2、list类型
根据索引来给出相对应的值:lindex list 0 类似我们 取list[0]
从左获取长度(倒序排序):lpush list
3、hash类型:
...
4、set 集合:
通过使用sadd命令,用户可以将一个或多个元素添加到集合中:sadd 集合1 集合2 集合3