• redis 进阶


    1、一定要设置最大缓存大小并设置缓存策略

      如果不设置最大缓存,在新添加数据时,如果超过最大内存回事redis崩溃!

      设置方式:maxmemory 1GB

      使用redis-cli登录后,使用info命令查看内存情况:

        # Memory
        used_memory:882920
        used_memory_human:862.23K  数据占用了多少内存
        used_memory_rss:2412544
        used_memory_rss_human:2.30M
        used_memory_peak:898688
        used_memory_peak_human:877.62K
        total_system_memory:4044341248
        total_system_memory_human:3.77G 
        used_memory_lua:37888
        used_memory_lua_human:37.00K
        maxmemory:0
        maxmemory_human:1.00G              占用内存的峰值
        maxmemory_policy:noeviction
        mem_fragmentation_ratio:2.73
        mem_allocator:libc

    2、缓存策略

      当maxmemory限制到达的时候,Redis将采取的准确行为是由maxmemory-policy配置指令配置的。 

    • noeviction - 当到达内存限制时返回错误
    • allkeys-lru - 回收最近最少使用(LRU)的键,为新数据腾出空间。
    • volatile-lru - 回收最近最少使用(LRU)的键,但是只回收有设置过期的键,为新数据腾出空间。
    • allkeys-random - 回收随机的键,为新数据腾出空间。
    • volatile-random - 回收随机的键,但是只回收有设置过期的键,为新数据腾出空间。
    • volatile-ttl - 回收有设置过期的键,尝试先回收离TTL最短时间的键,为新数据腾出空间。

    3、持久化

      支持以下四种持久化方式:

    • Snapshotting(快照持久化-默认) 将内存中数据以快照的方式写入到二进制文件中;每隔一段时间,操作一次,可能会丢失一小部分数据。
    • Append-only file(文件持久化方式)将执行的写命令,写入aof文件中;

        配置如下:

          appendonly yes           #启用aof持久化方式
          # appendfsync always   #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
          appendfsync everysec     #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
          # appendfsync no    #完全依赖os,性能最好,持久化没保证

          时间久了之后,aof文件会越来越大,需要将aof文件转为记录数据的二进制文件,以快照的方式进行持久化。命令:

    bgrewriteao

    • desprecated(虚拟内存的方式)已被弃用!
    • diskstore方式 B-树方式 不常用

    附:redis安装

      tar -zxvf redis-3.2.1.tar.gz

      cd redis-3.2.1

      make

      出现错误:gcc: Command not found

        安装gcc:  yum install gcc 或者  apt-get install gcc

      继续make,又出现如下错误:

        jemalloc/jemalloc.h: No such file or directory

      执行这个命令:make MALLOC=libc

      安装成功!

       cp redis.conf /etc/

      修改环境变量:

      vim /etc/profile

      最后一行添加

        :/usr/local/redis-3.2.1/src

      保存,退出!

      执行:source /etc/profile

      OK!

      redis安装包:http://download.csdn.net/detail/panpanteng/9626857

      

    主从配置(只需配置从服务器)从服务器配置文件中增加:

      slaveof 192.168.91.234 6379
      masterauth 123456

  • 相关阅读:
    UDP
    ICMP协议、DNS、ARP协议、ping、DHCP协议
    OSI七层模型和TCP/IP四层模型
    STL六大组件
    迭代器
    哈希表
    react wangeditor使用
    URL切割
    ES6对象合并
    nginx 访问本机文件
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/5859012.html
Copyright © 2020-2023  润新知