1、redis安装配置(一定要注意该大写的命令大写,安装错误时可能会提醒没有python3,但其实不需要python3)
①官网下载源码
②安装gcc编译器 yum install -y gcc
③在解压目录中编译 make MALLOC=libc
④在解压目录中安装,指定安装位置 make install PREFIX=/usr/redis
⑤在bin目录中运行 ./redis-server(使用默认配置)
2、redis操作(服务端口6379)
①从源码中复制redis.conf文件到redis安装目录,进行自定义配置,自定义启动
bin/redis-server redis.conf
②使用redis服务 ./redis-cli -h IP -p PORT
③设置键值对 set key name
④获取值 get key 返回name
⑤redis中默认有16个库(可在配置文件中调整数据库的数量),编号0--15,切换库命令:select index
⑥清空当前库: FLUSHDB 清空所有库:FLUSHALL
3、键操作
①删除键,返回删除成功数量:del key1 key2
②判断键是否存在,存在返回1不存在返回0:exists key
③设置键生存时间(单位秒):expire key second 设置键生存时间(单位毫秒):pexpire key second
④模糊查询
keys * # 查询所有键
keys h*llo # *匹配若干字符
keys h?llo # ?匹配一个字符
keys h[aoe]llo # 匹配a\o\e
⑤将键移动到其它库:move key database
⑥查询key的剩余生存时间(key不存在返回-2永久存在返回-1):ttl key
⑦从数据库中随机返回一个key(不存在返回nil):randomkey
⑧重命名键:rename key newkey
⑨查询键存储值的类型:type key
4、String类型操作
①mset:一次性设置多个键值对 mget:一次性获得多个值
②getset key 获取原始值并设置新值
③strlen key 获取键对应值的长度
④append key 值后追加内容
⑤getrange key m n 获取值中m--n之间的值
⑥setex 设置键的存活时间(秒) psetex 设置键的存活时间(毫秒)
⑦setnx key value 键不存在时做设置,存在不做设置
⑧msetnx 一次进行多个setnx,有一个key存在都不会进行设置
⑨decr key 对数值类型的值进行减一操作 decrby key num 对数值类型的值减去num
⑩incr key 对数值类型的值进行加一操作 incrby key num 对数值类型的值加上num
incrbyfloat key float 对数值类型的值加入浮点数
5、List类型操作
①lpush key value 把值添加到左边 lpushx key value 把值添加到左边,但是key不存在不能进行创建
②rpush key value 把值添加到右边 rpushx key value 把值添加到右边,但是key不存在不能进行创建
③lrange key m n 遍历集合从下标m到n的值
④lpop key 移除列表最左边的元素并返回这个元素 rpop key 移除列表最右边的元素并返回
⑤llen key 获取列表元素个数
⑥lset key n value 根据索引n修改值
⑦lindex key n 获取索引为n的值
⑧lrem key num value 从左向右移除列表中num数量的value
⑨ltrim key n m 保留列表中索引n到m的值,其它删除
⑩linsert key before/after indexvalue value 在indexvalue之前/后插入value
6、set类型操作
①sadd key value 创建set集合和添加元素,无序不重复
②smembers key 遍历集合所有元素
③scard key 返回集合中元素个数
④spop key n 返回集合中n个元素,并把元素从集合中删除
⑤smove key1 key2 value 把value从key1中移动到key2
⑥srem key value 从key中删除value
⑦sismember key value 判断key中是否有value,存在返回1不存在返回0
⑧srandmember key n 返回n个值,不删除
⑨sdiff key1 key2 从key1中删除key2含有的元素
⑩sinter key1 key2 求集合交集 sunion key1 key2 求集合并集
7、zset类型操作(可排序的不重复集合)
①zadd key source member 创建zset集合添加元素并赋分
②zcard key 返回集合元素个数
③zrange key m n 返回升序排序m到n的值 withscores 显示分数
④zrevrange key m n 返回降序排序m到n的值
⑤zrangebyscore key m n 查询分数在m到n之间的值 limit x y 分页,显示第x页一页y条记录
⑥zrank key member 升序返回成员排名,从零开始
⑦zrevrank key member 降序返回成员排名,从零开始
⑧zscore key member 显示成员分数
⑨zrem key member 移除元素
⑩zincrby key n member 给成员加n分
8、hash类型操作
①hset key valkey valvalue 创建或添加hash类型元素
②hget key valkey 获取键中一个键对应的value
③hgetall key 获取键中所有的map
④hdel key valkey 删除一个键中的一个map hdel key 删除整个键
⑤hexists key valkey 判断一个键中的一个map是否存在
⑥hkeys key 获得一个key中的所有map的key
⑦hvals key 获取一个key中的所有map的value
⑧hmget 获取一个key中的多个map的value
⑨hsetnx key valkey valvalue 若valkey不存在则做设置,存在不设置
⑩hincrby key valkey valvalue 对valvalue进行运算
hincrbyfloat key valkey valvalue 对valvalue进行浮点数运算
9、redis服务开启远程连接
修改配置文件
vim redis.conf
# 接受一切ip地址
bind 0.0.0.0
# 关闭连接保护
protected-mode no
10、快照持久化,命令保存快照,保存到.rdb文件
bgsave,创建一个子进程生成快照,不影响主进程服务
save,redis阻塞创建快照
shutdown,停止服务,自动保存
可在配置文件中修改自动保存条件,快照名,保存位置
11、AOF持久化,保存到.aof文件
将redis中的操作写入日志,redis只要执行一遍日志文件就能恢复所有数据
在配置文件中开启AOF持久化
appendonly yes
12、AOF重写,用于减少aof文件的体积。
①命令行直接开启重写,使用:bgrewriteaof,开启后台重写
②在配置文件中开启重写条件
# 文件体积比上次重写之后大了100%
auto-aof-rewrite-percentage 100
# aof文件大于64mb
auto-aof-rewrite-min-size 64mb
③重写原理:重写没有读取旧的aof文件,而是读取数据库内容重写新的aof文件。父进程继续执行原有操作同时保存新的写命令到缓存中,子进程读取数据库内容写新的aof文件再获取缓存中的写命令写入新的aof文件,最后父进程将写命令存入新的aof文件中。
13、Java连接redis操作
①引入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
②配置redis
spring.redis.port=port
spring.redis.host=IP
spring.redis.database=index
③建立Jedis对象,创建连接
private Jedis jedis;
jedis=new Jedis("IP","port");
jedis.select(index);
jedis.close();
14、springboot整合redis
懒得记录了,我选择烂尾