• Redis 作为缓存服务器的配置


    随着redis的发展,越来越多的架构用它取代了memcached作为缓存服务器的角色,它有几个很突出的特点:
    1. 除了Hash,还提供了Sorted Set, List等数据结构
    2. 可以持久化到磁盘
    3. 支持cluster (3.0)

    它的性能和memcached不相上下,再加上流行的其他组件(比如队列)也会用到redis,从架构简单出发,已经没有必要混用redis和memcached了。

    写篇短文介绍一下用redis作为缓存服务器配置时候需要注意几个点。

    Redis配置

    作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置:

    1
    2
    # 限定最多使用1.5GB内存
    maxmemory 1536mb

    如果内存到达了指定的上限,还要往redis里面添加更多的缓存内容,需要设置清理内容的策略:

    1
    2
    # 设置策略为清理最少使用的key对应的数据
    maxmemory-policy allkeys-lru

    清理策略有多种,redis的官方文档有一篇很详细的说明: http://redis.io/topics/lru-cache

    Redis监控

    redis提供了INFO这个命令,能够随时监控服务器的状态,只用telnet到对应服务器的端口,执行命令即可:

    1
    2
    telnet localhost 6379
    info

    在输出的信息里面有这几项和缓存的状态比较有关系:

    1
    2
    3
    4
    5
    keyspace_hits:14414110
    keyspace_misses:3228654
    used_memory:433264648
    expired_keys:1333536
    evicted_keys:1547380

    通过计算hits和miss,我们可以得到缓存的命中率:14414110 / (14414110 + 3228654) = 81% ,一个缓存失效机制,和过期时间设计良好的系统,命中率可以做到95%以上,对于整体性能提升是很大的。
    used_memory,expired_keys,evicted_keys这3个信息的具体含义,redis的官方也有一篇很详细的说明:http://redis.io/commands/info

    有个ruby gem叫redis-stat,它利用INFO命令展现出更直观的信息报表,推荐:
    https://github.com/junegunn/redis-stat

    Redis 作为缓存服务器的配置
  • 相关阅读:
    我的博客的定制代码
    在网站中使用Bing Translator插件翻译文章。
    java 爬虫 WebMagic(四)-Scheduler
    java 爬虫 WebMagic(三)-PipeLine
    java 爬虫 WebMagic(二)-PageProcessor
    java 爬虫 WebMagic(一)-Spider
    java 解析json 万能型
    c# 解析Json 万能型
    常用的Linux 命令
    将文件夹和文件提交到git
  • 原文地址:https://www.cnblogs.com/beceo/p/4907121.html
Copyright © 2020-2023  润新知