美文网首页
redis的高级特性

redis的高级特性

作者: jshan | 来源:发表于2018-11-04 00:59 被阅读0次

    redis 高级特性

    1. keys * 返回满足的所有键(可以模糊匹配)
    2. exists 是否存在指定的key
    3. expire 设置某个key的过期时间(单位为秒),使用 ttl 查看剩余时间
    4. persist 取消过期时间
    5. select 选择数据库,数据库为0-15(一共16个数据库),默认进入的是0
    6. move [key] [数据库下标] 将当前数据库中的key转移到指定的数据库
    7. randomkey 随机返回数据库中的key
    8. rename 重命名key
    9. echo 打印内容,和shell中echo一样
    10. dbsize 查看数据库中的key数量
    11. info 获取数据库信息
    12. config get [配置名] 返回相关的配置信息; config get * 返回所有配置
    13. flushdb 清空当前数据库; flushall 清空所有数据库
    14. 登录授权,一秒内可以进行15w次的密码尝试,如何去添加权限校验的步骤
    1. 修改 redis.conf 配置文件中的 requirepass passwordContent
    2. 重启redis: pkill redis-server
    3. 需要权限校验: auth passwordContent
    4. 还可以直接在登录的时候就授权: redis-cli -a passwordContent
    

    事务

    redis的事务非常简单:

    1. 使用 multi 方法打开事务
    2. 设置的数据都会放入队列进行保存
    3. 使用 exec 执行,把数据依次存储到redis中
    4. 使用 discard 方法取消事务

    注意: redis的事务不能保证同时成功或失败进行提交或回滚。

    持久化

    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化,方式如下两种:

    1. snapshotting (快照) 默认方式,将内存中已快照的方式写入到二进制文件中,默认为 dump.rdb, 我们可以设置redis在n秒内如果超过m个key被修改,则自动做快照,例如:
    # snapshotting设置
    save 900 1  # 900秒内如果超过1个key被修改,则发起快照保存
    
    1. append-only file (缩写aof)的方式,类似于oracle日志,aof方式比快照方式有更好的持久化特性,由于aof时,redis会将每一个收到的写命令都通过write函数追加到命令中,当redis重新启动时,会重新执行文件中保存的写命令,来在内存中重建这个数据库的内容,这个文件在bin目录下: appendonly.aof,aof不是立即写到磁盘上,可以通过配置文件修改强制写到硬盘上,如下
    # aof 配置
    appendonly yes  # 启动aof持久化方式,如下三种修改方式
    # appendfsync always  # 收到写请求后立即写入到磁盘,效率最慢,但是保证完全的持久性(建议)
    # appendfsync everysec  # 每秒写入磁盘一次,在性能和持久化之间做了和好的折中
    # appendfsync no  # 完全依赖os性能,持久化没保障
    

    发布订阅

    redis提供了简单的发布订阅功能

    1. 使用 subscribe channel [channel ...] 进行订阅监听
    2. 使用 publish channel conent 进行发布消息广播
    # 实现频道订阅
    subscribe channel_1 channel_2
    
    # 实现消息发布
    publish channel_1 'this is a publish content.'
    publish channel_2 'this is another publish content.'
    

    相关文章

      网友评论

          本文标题:redis的高级特性

          本文链接:https://www.haomeiwen.com/subject/gdalxqtx.html