zoukankan      html  css  js  c++  java
  • redis的使用

    通过 redis-server lconfig/redis.conf 来启动redis服务

    redis-cli -p 6379 连接redis服务

    ps -ef|grep redis 查看redis进程是否开启

    shutdown exit用来关闭redis和退出

    redis默认有16个数据库,默认使用第0个,可以使用 select n来切换到DB n;

    keys * 查看当前数据库中所有的key

    flushdb: 清空当前数据库中的键值对

    flushAll:清空所有数据库的键值对redis

    exists key:判断键是否存在

    del key:删除键值对

    move key db:将键值对移动到指定数据库

    expire key second:设置键值对的过期时间

    type key:查看value的数据类型

    ttl key:查看key的过期剩余时间

    关于TTL命令

      1.当前key没有设置过期时间,所以会返回-1

      2.当前key有设置过期时间,而且key已经过期,所以会返回-2

      3.当前key有设置过期时间,而且key还没有过期,故会返回key的正常剩余时间

    关于重命名RENAME 和 RENAMENX

    RENAME key newkey 修改key的名称

    RENAMENX key newkey 仅当newkey不存在时,将key改名为newkey.

    五大数据类型

    1.String

    append key value         向指定的key的value后追加字符串

    DECR/INCR key               将指定key的value数值进行+1/-1(仅对于数字)

    INCR/DECRBY key n            按指定的步长对数值进行加减

    STRLEN key          获取key保存值的字符串长度

    GETRANGE key start end    按起止位置获取字符串(闭区间,起止位置都取)

    SETRANGE key offset value   用指定的value替换key中offset开始的值

    GETSET key value              将给定key的值设为value,并返回key的旧值

    SETNX key value               仅当key不存在是进行set

    SETEX key seconds value       set键值并设置过期时间

    MSET key1 value1 key1 value2   批量set键值对

    MSET key1 value key2 value2   批量设置键值对,仅当参数中所有的key都不存在时执行

    MGET key1 key2         批量获取多个key保存的值

    PSETEX key milseconds value      和SETEX命令相似,但它以毫秒为单位设置key的生存时间

    getSet key value                           如果不存在值,则返回nil,如果存在值,获取原来的值,并设置新的值

    Redis的持久化操作

    使用rdb文件进行文件的恢复,在配置文件加上save 60 5

    改变5次值就会进行快照读,将数据存储在rdb文件上.然后将rdb文件备份,修改为dump.rdb.bak。执行flushall操作,该操作会生成一个新的rdb文件.然后将之前备份的文件替换成这个rdb文件.重新启动,redis就会恢复.

    rdb持久化

    优点:

    1.适合大规模的数据恢复

    2.对数据的完整性要求不高

    缺点:

    1.需要一定的时间间隔进程操作!如果redis意外宕机了,最后一次修改数据就没有的了!

    2.fork进程的时候,会占用一定的内存空间.`

     aof持久化:采用日志的形式来记录每个写操作,并追加到文件中。redis重启会根据日志文件的内容将写指令从前到后执行一次次完成数据的恢复工作.

    aof的配置

    打开redis.conf文件,找到APPEND ONLY MODE 对应的内容

    1.reids 默认关闭,开启需要手动把no改为yes

    appendonly yes

    2.指定本地数据库文件名,默认值为appendonly.aof

    appendfilename “appendonly.aof”

    3.指定更新日志条件

    # appendfsync always
    appendfsync everysec
    # appendfsync no

    always:同步持久化,每次发生数据变化会立刻写入到磁盘中。性能较差但数据完整性比较好(慢,安全)

    everysec:出厂默认推荐,每秒异步记录一次(默认值)

    no: 不同步

    4.匹配重写触发机制

    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb

    解说:当AOF文件是上次rewrite后大小的一倍且未见大于64M触发.

    优点:

    1.每一次修改都同步,文件的完整会更加好!

    2.每秒同步一次,可能会丢失一秒的数据

    3.从不同步,效率是最高的

    缺点:

    1.相对于数据文件来说,aof远远大于rdb,修复的速度也比rdb慢!

    2.aof运行效率也要比rdb慢,所以我们redis默认的配置就是rdb持久化

    注意:aof flushall 和 shutdown之后不会生成aof文件

    Redis的消息订阅

    1.Subscribe channel ;绑定某个频道

    2.Publish channel msg:发送信息给绑定了这个频道的人

    Redis主从复制

    主从复制,是指将一台Redis服务的数据,复制到其他的Redos服务器,前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能从主节点到从节点。master以写为主,slave以读为主.

  • 相关阅读:
    jmeter基础介绍
    mysql图形化工具navicat
    JMeter 进行压力测试
    windows ADB配置java adk / Android adk
    性能指标
    压力测试和负载测试(tps/qps)专项测试,吞吐量
    接口测试工具Postman
    charles步骤装
    Python列表操作
    Python字符串常见操作
  • 原文地址:https://www.cnblogs.com/lzh66/p/14118271.html
Copyright © 2011-2022 走看看