`

优化Redis内存的9个要点

阅读更多

优化Redis内存的9个要点

 
1.注意在redis.conf中的小聚合数据类型的特殊编码设置:
 
hash-max-zipmap-entries 64 (hash-max-ziplist-entries for Redis >= 2.6)
hash-max-zipmap-value 512  (hash-max-ziplist-value for Redis >= 2.6)
list-max-ziplist-entries 512
list-max-ziplist-value 64
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
set-max-intset-entries 512
 
2.使用32位实例将内存受限在4G内,不过他们的RDB和AOF文件是兼容在32位和64位下去切换使用的。
 
3。使用bit位级别操作和byte字节级别操作来减少不必要的内存使用
 
bit位级别操作:GETRANGE, SETRANGE, GETBIT and SETBIT
byte字节级别操作:GETRANGE and SETRANGE
 
4.尽可能地使用hashes哈希,因为小Hashes会被编码成一个非常小的空间。
 
5.使用哈希来在Redis的顶部在普通key-value存储上来抽象内存使用效率
 
6.关于内存分配:
 
如果maxmemory没有设置的Redis会继续分配内存,因为它认为合适的,因此它可以(逐渐)吃了你的全部可用内存。因此,通常建议配置一些限制。您可能还需要设置maxmemory策略,以noeviction(这不是在一些旧版本的Redis的默认值)。
 
这使得Redis的返回内存不足的错误写命令,如果当它到达了极限 - 这反过来可能会导致应用程序错误,但不会导致因为内存饥饿而整机死亡。
 
另外redis 的6种过期策略redis 中的默认的过期策略是volatile-lru 。设置方式
  config set maxmemory-policy volatile-lru
  maxmemory-policy 六种方式
  volatile-lru:只对设置了过期时间的key进行LRU(默认值)
  allkeys-lru : 是从所有key里 删除 不经常使用的key
  volatile-random:随机删除即将过期key
  allkeys-random:随机删除
  volatile-ttl : 删除即将过期的
  noeviction : 永不过期,返回错误
  maxmemory-samples 3 是说每次进行淘汰的时候 会随机抽取3个key 从里面淘汰最不经常使用的(默认选项)
 
7. 在存到Redis之前先把你的数据压缩下
 
8.尽量使用短的键(Keys)
 
9.使用Hashes值存储而不带额外的数据元
分享到:
评论

相关推荐

    redis教程介绍以及要点和难点.zip

    Redis教程介绍及要点和难点 Redis,全称Remote Dictionary Server,是一种开源的、基于内存的键值存储系统,常用于数据库、缓存和消息中间件等场景。它以其高性能、丰富的数据结构支持以及灵活的数据持久化策略而...

    redis开发和运维

    内存管理是Redis运行中的核心问题,书中第8章专门探讨了Redis的内存消耗、内存管理和优化策略。作者提出,通过合理设置内存上限、采用内存回收策略和优化键值对的数据结构,可以有效管理内存使用。 最后,本书的第9...

    linux免安装 redis

    根据实际需求,可以修改这些配置以优化Redis服务。 5. **连接Redis客户端**: Redis服务器启动后,可以使用内置的`redis-cli`命令行客户端连接到服务。例如,在同一台服务器上,可以直接输入 `redis-cli` 进入...

    Redis-5.0.0集群配置

    随着版本的发展,Redis不仅在集群功能上进行了优化,还在4.0.0版本中加入了对模块(module)的支持,进一步扩展了Redis的应用场景。到了5.0.0版本,Redis引入了一种类似Kafka的消息队列功能,这为实时数据分析、日志...

    redis-2.8下载

    7. **性能优化**:Redis 2.8通过优化内存管理、命令处理等提高了性能,但仍然建议在内存充足的环境中运行以充分利用其性能优势。 8. **订阅/发布(Pub/Sub)**:Redis的发布/订阅模式允许消息的发布者与多个订阅者...

    Redis数据库入门学习教程与面试经验总结(附PDF下载).pdf

    Redis 是一种开源的、基于内存的数据结构存储系统,可以用作数据库、消息中间件、缓存等。下面是 Redis 的一些基本概念和技术要点: 1. Redis 的基本数据结构:字符串、列表、集合、哈希表、有序集合等。 2. Redis...

    Redis测试

    2. 内存使用:监控Redis内存使用情况,避免内存溢出。 3. 数据一致性:检查数据在更新后的一致性,如使用多线程并发修改同一数据时的正确性。 4. 集成测试:确保Redis与应用程序的集成无误,如Web应用的缓存功能。 5...

    REDIS的安装与使用说明

    - **性能优化**:通过对Redis的配置文件进行调整,可以提高Redis的性能,例如调整最大内存限制、开启压缩等功能。 - **监控与维护**:利用Redis自带的命令或者第三方工具如`redis-desktop-manager`,可以方便地监控...

    Redis学习笔记-包括周阳和狂神说

    Redis,全称Remote Dictionary Server,是一款高性能的键值存储系统,常被用于数据库、缓存和消息...无论是从性能优化、故障处理到分布式部署,Redis都有其独特的优势和广泛的应用场景,值得每一个IT从业者深入了解。

    Redis缓存设计与性能优化精要

    Redis缓存设计与性能优化是确保...总之,理解并掌握这些Redis缓存设计与性能优化的要点,对于构建高性能、高可用的系统至关重要。在实践中,需要根据具体业务场景灵活运用,不断调整优化策略,以达到最佳的运行效果。

    最新版linux redis-6.2.2.tar.gz

    Redis是世界上最受欢迎的开源内存数据结构存储系统,它作为一个高性能的键值数据库广泛应用于缓存、消息中间件、数据持久化等多个场景。本文将详细解析Linux环境下安装与配置Redis 6.2.2版本的过程,以及相关的技术...

    Redis面试题深度解析:技术要点与实战应用.zip

    - 内存管理:了解Redis如何管理内存,如内存淘汰策略(LRU、TTL等),以及如何设置合理的内存上限。 - 集群搭建:理解Redis Cluster的分片原理,以及解决槽迁移、故障恢复等问题。 - 缓存策略:掌握缓存穿透、...

    最新版linux redis-6.0.10.tar.gz

    Redis,全称Remote Dictionary Server,是一款高性能的键值...在Linux环境下,正确安装、配置和使用Redis,有助于优化应用程序的性能,并确保数据的可靠性。通过熟练掌握上述要点,你将在开发和运维过程中游刃有余。

    Redis服务所需软件

    4. Jemalloc或jemalloc-ng:Redis推荐使用jemalloc作为内存分配器,因为它能更好地处理内存碎片。在源码编译Redis时,需要确保jemalloc库可用。 5. OpenSSL:如果需要启用Redis的TLS/SSL支持,需要安装OpenSSL库。...

    Tomcat性能优化

    【描述】:“Tomcat7性能优化调优Tomcat7性能优化调优Tomcat7性能优化调优”重复强调了对Tomcat7版本的性能调整,这可能涉及到内存管理、线程池设置、连接器配置、JVM参数优化等多个方面。性能调优的目标是提高...

    redis5.0.7稳定linux版资源

    这个稳定版本针对Linux操作系统进行了优化,确保在该平台上的高效运行和稳定性。作为一款内存数据结构存储系统,Redis支持多种数据结构,如字符串、哈希表、列表、集合和有序集合,这使得它在处理各种类型的数据时...

    SPRING 5.0.8 MYBATIS 3.4.6 STRUTS 2.5.16 REDIS 整合jar包

    这个压缩包包含了Spring 5.0.8、MyBatis 3.4.6、Struts 2.5.16以及Redis的相关依赖,下面将分别介绍这些技术及其整合要点。 **Spring框架 5.0.8** Spring是一个开源的Java平台,它为创建企业级应用提供了全面的编程...

    Redis的开发规范和常见问题1

    5. **利用Redis企业版功能**:如Tair,提供更高级别的特性,如更好的连接管理、内存优化和热点处理。 综上所述,理解Redis的内在机制和边界是避免开发中出现问题的关键。遵循良好的开发规范,结合监控和优化策略,...

    Excel模板超强、超详细Redis入门教程分享.pdf

    - **Redis**(Remote Dictionary Server)是一个开源的高性能键值(Key-Value)存储系统,采用ANSI C编写,支持网络通信,能够在内存中运行并具备数据持久化功能。 - Redis之所以被称为数据结构服务器,是因为它支持...

Global site tag (gtag.js) - Google Analytics