• redis


    Redis

    配置

    默认redis安装后开启了protected-mode ,不能远程登录。

    常用配置是开启protected,绑定IP和密码,进行远程登录。

    vim /etc/redis.conf
    
    bind 172.20.170.228 127.0.0.1  #绑定网卡
    requirepass  jinweichang       #链接密码
    

    登录后可查询所有配置参数,

    127.0.0.1:6379> config get *
      1) "dbfilename"
      2) "dump.rdb"
    
    
    127.0.0.1:6379> config get max*
    1) "maxmemory"
    2) "0"
    
    127.0.0.1:6379> config set maxmemory 300M
    OK
    

    配置完,写入文件(永久生效)

    127.0.0.1:6379> config rewrite
    OK
    

    登录

    远程登录

    redis-cli -h 172.20.170.228 -p 6379 -a jinweichang
    

    本地登录也需要密码

    redis-cli -a jinweichang
    

    也可以登录后在输密码

    [root@localhost etc]# redis-cli 
    127.0.0.1:6379> AUTH jinweichang 
    

    如果没有密码就回报错,无权限操作

    127.0.0.1:6379> select 1
    (error) NOAUTH Authentication required.
    
    

    查询密码

    cat /etc/redis.conf |grep 'requirepass'
    

    持久化

    RDB

    只保留当时的数据,时间点快照。

    缺点:会有丢失。

    配置:

    vim /etc/redis.conf
    
    dir /data/redis       #文件保存路径
    dbfilename dump.rdb   #文件名称
    save 900 1            #表示900秒内如果有1个更改就save一次
    save 300 10           #表示300S内有10次更改就save
    save 60 10000
    
    save:前台执行,阻塞redis正常写入,知道持久化完成。
    bgsave:后台,开启子线程异步持久化。
    

    AOF

    记录所有读写操作命令。

    缺点:日志大,还原时间长。

    appendonly yes
    appendfsync always   #记录所有操作
    
    appendfsync everysec #每秒记录一次
    appendfsync no
    

    string(字符串)

    string 除字符外,还可存图片

    max:512M

    CRUD

    set 存在就修改,不存在就添加

    set key1  hellp
    

    设定key的存在时间(单位:s)

    setex key2 10 haha
    

    get 查询

    get key1
    

    del 删除

    del key1
    

    mset批量写入2个key

    mset s1 aa s2 bb
    

    mget批量读取

    mget s1 s2
    

    构建主从

    配制文件,主库6379,从为6379

    port 6380
    daemonlize yes
    pidfile /data/redis1/redis.pid
    loglevel notice
    dbfilename dump.rdb
    dir /data/redis1
    requirepass jinweichang
    masterauth jinweichang  #链接主库的密码
    
    

    开启服务

    redis-server /data/redis1/redis.conf &
    

    开启复制

    redis-cli -p 6380 -a jinweichang SLAVEOF 172.20.170.229 6379
    

    查看复制状态,一般只查看主库。

    redis-cli -p 6379 -a jinweichang info replication
    

    解除复制

    redis-cli -p 6380 -a jinweichang SLAVEOF no one
    

    redis-sentinel(哨兵)

    1.监控

    2.自动选主

    3.第三个库指向新的主库

    4.应用透明

    5.自动处理故障节点

    sentinel配置文件

    mkdir /data/26380
    cd /data/26380
    vim sentinel.conf
    
    port 26380
    dir /data/26380
    sentinel monitor mymaster 127.0.0.1 6379 1  #票数
    sentinel down-after-milliseconds mymaster 5000
    sentinel auth-pass mymaster jinweichang
    

    启动sentinel

    redis-sentinel sentinel.conf &
    
    ## 数据类型
    string(字符串) k-v
    hash(哈希)字典 use1 name jinwei sex xx
    list(列表) city 北京 南京 西安
    set 集合
    zset有序集合
  • 相关阅读:
    泛型约束new()的使用
    控制反转-依赖注入
    微服务的六个基本点
    java反编译工具
    Idea中一些常用设置
    JSP内置对象(9个常用的内置对象)
    输出输入流,的应用

    容器集合类
    容器与集合
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/14463225.html
Copyright © 2020-2023  润新知