redis基础

Posted 你很棒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis基础相关的知识,希望对你有一定的参考价值。

1.redis特性

redis特性
    基于内存
    数据持久化(快照,AOF)
    主从复制
    集群
    支持更多的数据类型
    支持消息订阅
redis单线程,只能使用1个cpu使用,每秒能承受50万并发

2.redis安装

yum install epel-release -y
yum install redis -y
systemctl start redis 
systemctl enable redis 

3.redis数据类型

redis数据类型
    字符串
        set ip 1.1.1.1          //设置键ip的值是1.1.1.1
        get ip                  //获取键ip的值
    列表
    集合
    有序集合
    哈希

4.redis认证实现

#vim /etc/redis.conf 
requirepass PASSWORD 
#redis-cli 
auth PASSWORD 

5.redis清空数据库

    flushdb:清空当前库
    flushall:清空所有库

6.redis事务

    通过multi,exec,watch等命令实现事务功能;将一个或多个命令归为一个操作提请服务器按顺序执行的机制;不支持回滚操作
    multi :启动一个事务
    exec :执行事务,一次性将事务中的所有操作执行完成后返回客户端;命令先放在队列中,通过exec一次性提交和执行所有命令
    watch:乐观锁,在exec命令执行之前,用于监视指定数量键;如果监视中的某任意键数据被修改,则服务器拒绝执行事务;
127.0.0.1:6379> multi 
OK
127.0.0.1:6379> set ip 192.168.1.1
QUEUED
127.0.0.1:6379> get ip
QUEUED
127.0.0.1:6379> set port 8080
QUEUED
127.0.0.1:6379> get port
QUEUED
127.0.0.1:6379> exec

7.redis命令

    client list                             //获取客户端连接信息
    client kill ip:port                     //杀死客户端连接
    info                                    //查看服务器状态信息,使用的CPU,内存等信息    client kill  127.0.0.1:57366
    config resetstat                        //重置info状态信息
    config set parameter value              //设置配置文件的参数和值到内存中,临时生效  config set requirepass redhat 添加认证
    config rewrite                          //保存修改的配置文件参数和值到硬盘中,永久生效
    dbsize                                  //查看数据库的所有键数量
    save                                    //同步,内存数据保存到硬盘中,在主线程中保存快照,此时会阻塞所有客户端请求
    bgsave                                  //异步,内存数据保存到硬盘中
    keys *                                  //获取所有的键

8.redis 发布与订阅(publish/subscribe),消息队列

    publish:生产者,指明向频道发布消息;
    subscribe :消费者,订阅一个或多个队列
    unsubscribe :退订此前订阅的频道  
127.0.0.1:6379> subscribe news              //订阅news频道
127.0.0.1:6379> publish news hello          //向news这个频道发送hello消息

9.redis持久化:内存数据保存到硬盘中,两种方式RDB和AOF

RDB:snapshot,快照,二进制格式;按照事先定制的策略,周期性将数据保存至磁盘;数据文件默认为dump.rdb;客户端也可以使用save或bgsave命令启动快照保存机制
AOF:Append Only file 记录每一次写操作至指定的文件尾部实现持久化;当redis重启时,可通过重新执行文件中的命令在内存重建数据库

RDB配置文件

save 900 1                                  //900秒有1个key变化就保存到磁盘中
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/var/lib/redis"
关闭RDB:save ""

AOF在配置文件相关参数

appendonly no                               //开启aof功能,no为不开启
appendfilename "appendonly.aof"             //AOF文件名
appendfsync everysec                        //每一秒写一次
no-appendfsync-on-rewrite no                //重写是否调用rsync
auto-aof-rewrite-percentage 100             //当前上次重写两被,触发一次重写操作
auto-aof-rewrite-min-size 64mb              //触发重写最小值
aof-load-truncated yes                      //

以上是关于redis基础的主要内容,如果未能解决你的问题,请参考以下文章

如何利用redis来进行分布式集群系统的限流设计

jedis连接redis

201555332盛照宗—网络对抗实验1—逆向与bof基础

VsCode 代码片段-提升研发效率

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

Java代码redis基础操作