zoukankan      html  css  js  c++  java
  • redis 的使用 及 配置文件解读

    redis-server命令

    redis-server /usr/local/redis/conf/redis.conf    #加配置文件绝对路径启动redis服务
    redis-server /usr/local/redis/conf/redis.conf &  #如果配置文件daemonize yes后台启动没有开启则在结尾&在后台启动

    redis-cli命令

    redis-cli           #通过客户端连接本地redis 
    redis-cli shutdown     #关闭redis服务

    -p指定端口

    redis-cli -p 6379 

    -h指定要连接的reids服务端的IP

    redis-cli -h 192.168.50.167

    结尾跟内部命令可在外部执行

    redis-cli -h 10.0.0.135 -p 6379 set aaa 111
    OK

    -a指定密码(会有警告密码暴露外边,所以一般不用)

    redis-cli -a 123456

    --raw  显示中文字符

    redis-cli --raw

    通过客户端操作redis数据库

    set id 1      #写入一条数据key(id),value(1
    get id          #取值key(id  
    del id          #删除key(id    
    incr id      #自增1 id变为2
    incrby id 5   #自增指定数值5 id变为7  
    decr id      #自减1 id变为6
    decrby id5    #自减指定数值5 id变为1
    getset id 6   #设置新数据并显示原数据
    mset name zhangsan age 44    #批量写操作 key为name值为zhangsan key为age值为44
    mget name age   #批量读操作 一次行查看name和age的值
    append name feng  #追加字符串 结果为zhangsanfeng
    exists
    id #验证key是否存在 keys * #查看redis里所有的key 不建议使用,上千万的key会使redis服务器堵塞 select 1 #切换到表1模式 redis总共有默认16个表
    randomkey    #随机返回一个key
    scan 0      #分页查看key
    select 0     #表示切换到0库 默认16个库

    #通过help命令来查找命令
    #输入help 多次<Tab>键来切换所有命令
    help @hash
    info           #查看各项信息
    info cpu        #查看CPU信息
    info memory #查看内存信息
    info clients #查看客户端信息
    info replication #查看同步信息

    批量往redis server上插入数据

    for line in `seq -w 50`;do redis-cli set name_${line} value_${line};done

    给redis增加密码的两种方式

    vim /usr/local/redis/conf/redis.conf    #修改配置文件设置密码
    requirepass "123456"              #设置密码
    #交互式登陆redis设置密码
    redis-cli 
    
    config get requirepass        #获取redis配置的密码信息
    1) "requirepass"
    2) ""                     #此时密码空
    
    config set requirepass 123456  #给redis设置密码密码即时生效
    OK
    
    auth 123456                  #进行密码验证
    
    config get requirepass        #查看密码配置信息
    1) "requirepass"
    2) "123456"               #有密码了
      
    config rewrite                 #将配置重写进行保存
    OK
    
    #查看redis配置文件最后两行
     tail -2 /usr/local/redis/conf/redis.conf
    # Generated by CONFIG REWRITE
    requirepass "yunjisuan"         #增加了密码配置

    解读配置文件

    基本设置

    #redis支持include功能
    include /path/to/local.conf
    include /path/to/other.conf
    
    #redis是否后台运行
    daemonize no   
    
    #pid号保存文件的位置
    pidfile /var/run/redis.pid
    
    #redis默认监听端口
    port 6379
    
    #调整tcp监听队列
    tcp-backlog 511
    
    #调整redis的监听地址
    bind 192.168.1.100 10.0.0.1
    bind 127.0.0.1
    
    #调整客户端超时时间
    timeout 0
    
    #调整tcp的会话保持时间
    tcp-keepalive 0
    
    #调整日志级别
    loglevel notice
    
    #是否启用syslog来接收日志(比如日志集中收集)
    syslog-facility local0
    
    #设置数据库的数量,如果缺省,默认为0(select0...select 15
    databases 16
    
    #如果bgsave出错是否停止写入
    stop-writes-on-bgsave-error yes
    
    #redis将数据存储在磁盘的什么位置
    dbfilename dump.rdb
    
    #指定redis配置文件当前工作的路径(指定dbfilename的当前路径位置)
    dir ./
    
    #给redis设定密码
    requirepass 123456
    
    #修改redis操作命令的名称
    rename-command CONFIG ""
    rename-command set ""
    rename=command get wk
    
    #设定redis内存限制(但是内存用完后,redis就会开始删除key)
    maxmemory <bytes>
    
    #设定redis内存清理的算法
    # volatile-lru -> remove the key with an expire set using an LRU algorithm
    # allkeys-lru -> remove any key accordingly to the LRU algorithm
    # volatile-random -> remove a random key with an expire set
    # allkeys-random -> remove a random key, any key
    # volatile-ttl -> remove the key with the nearest expire time (minor TTL)
    # noeviction -> don't expire at all, just return an error on write operation
    maxmemory-policy volatile-lru

    rdb快照设置  (快照及流模式只能用在从不能用在主 主压力太大)

    ################################ SNAPSHOTTING  ################################
    #
    # Save the DB on disk:
    #
    #   save <seconds> <changes>
    #
    #   Will save the DB if both the given number of seconds and the given
    #   number of write operations against the DB occurred.
    #
    #   In the example below the behaviour will be to save:
    #   after 900 sec (15 min) if at least 1 key changed
    #   after 300 sec (5 min) if at least 10 keys changed
    #   after 60 sec if at least 10000 keys changed
    #
    #   Note: you can disable saving at all commenting all the "save" lines.
    #
    #   It is also possible to remove all the previously configured save
    #   points by adding a save directive with a single empty string argument
    #   like in the following example:
    #
    #   save ""      #如果不想保存在磁盘,就如此设置 等于关闭快照
    
    save 900 1      #900秒内至少1key数据变化,但会阻塞用户请求,高并发时不用
    save 300 10     #300秒内至少10key数据变化,但会阻塞用户请求,高并发时不用
    save 60 10000   #60秒内至少10000key数据变化,但会阻塞用户请求,高并发时不用

    AOF流模式设置

    ############################## APPEND ONLY MODE ###############################
    
    # By default Redis asynchronously dumps the dataset on disk. This mode is
    # good enough in many applications, but an issue with the Redis process or
    # a power outage may result into a few minutes of writes lost (depending on
    # the configured save points).
    #
    # The Append Only File is an alternative persistence mode that provides
    # much better durability. For instance using the default data fsync policy
    # (see later in the config file) Redis can lose just one second of writes in a
    # dramatic event like a server power outage, or a single write if something
    # wrong with the Redis process itself happens, but the operating system is
    # still running correctly.
    #
    # AOF and RDB persistence can be enabled at the same time without problems.
    # If the AOF is enabled on startup Redis will load the AOF, that is the file
    # with the better durability guarantees.
    #
    # Please check http://redis.io/topics/persistence for more information.
    #是否启用AOF存储模式
    appendonly no
    #设定AOF文件的存储位置
    appendfilename "appendonly.aof"     #并不用于主从同步,只是redis在启动时,读取此文件用于恢复数据
    #设定AOF同步存储的时间周期
    appendfsync everysec    #每秒或不用
  • 相关阅读:
    iOS开发之swift与OC混编出现的坑,oc中不能对swift的代理进行调用,不能访问swift中的代理,swift中的回调方法
    Apple开发者账号更改公司名称
    iOS端实现节日换肤
    那些惊艳了我的第三方插件收集
    【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等
    iOS 10中如何搭建一个语音转文字框架
    哈夫曼树
    多叉树的建立以及其他的一些操作
    决策树(2)
    决策树算法(1)含java源代码
  • 原文地址:https://www.cnblogs.com/ywrj/p/9508420.html
Copyright © 2011-2022 走看看