Redis学习

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

懒得记录了,我选择烂尾

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值