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

redis 进阶的更多相关文章

  1. Redis进阶实践之十三 Redis的Redis-trib.rb文件详解

    一.简介     事先说明一下,本篇文章不涉及对redis-trib.rb源代码的分析,只是从使用的角度来阐述一下,对第一次使用的人来说很重要.redis-trib.rb是redis官方推出的管理re ...

  2. Redis进阶实践之十六 Redis大批量增加数据

    一.介绍      有时,Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据,以便尽可能快地创建数百万个键.这就是所谓的批量插入,本文档的目标是提供有关如何以尽可能快的速度向Redis提 ...

  3. Redis进阶实践之十八 使用管道模式加速Redis查询

    一.引言             学习redis 也有一段时间了,该接触的也差不多了.后来有一天,以为同事问我,如何向redis中批量的增加数据,肯定是大批量的,为了这主题,我从新找起了解决方案.目前 ...

  4. Redis进阶实践之十三 Redis的Redis-trib.rb脚本文件使用详解

    转载来源:http://www.cnblogs.com/PatrickLiu/p/8484784.html 一.简介 事先说明一下,本篇文章不涉及对redis-trib.rb源代码的分析,只是从使用的 ...

  5. Redis进阶实践之九 独立封装的RedisClient客户端工具类(转载9)

    Redis进阶实践之九 独立封装的RedisClient客户端工具类 一.引言 今天开始有关Redis学习的第九篇文章了,以后肯定会大量系统使用Redis作为缓存介质,为了更好的更好的Redis,自己 ...

  6. Redis进阶实践之七Redis和Lua初步整合使用(转载 7)

    Redis进阶实践之七Redis和Lua初步整合使用 一.引言 Redis学了一段时间了,基本的东西都没问题了.从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运 ...

  7. Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务(转载6)

    Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务 一.引言 今天本来没有打算写这篇文章,但是,今天测试Redis的时候发现了两个问题 ...

  8. Redis进阶实践之五Redis的高级特性(转载 5)

    Redis进阶实践之五Redis的高级特性 一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今 ...

  9. Redis进阶实践之四Redis的基本数据类型(转载4)

    Redis进阶实践之四Redis的基本数据类型 一.引言 今天正式开始了Redis的学习,如果要想学好Redis,必须先学好Redis的数据类型.Redis为什么会比以前的Memchaed等内存缓存软 ...

  10. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

随机推荐

  1. 2016中国大数据技术大会( BDTC ) 共商大数据时代发展之计

    中国大数据技术大会(BDTC)的前身是Hadoop中国云计算大会(HadoopinChina,HiC).从2008年仅60余人参加的技术沙龙发展到当下数千人的技术盛宴,目前已成为国内最具影响力.规模最 ...

  2. Sass与Compress实战:第六章

    概要:介绍Compass如何让你从本地开发原型轻松转移到正产环境的网址或Web应用中. 本章内容: ● CSS精灵的历史和基本原则 ● Compass混合器让精灵自动化 ● 自定义精灵图片和CSS输出 ...

  3. POJ 1862 Stripies#贪心(水)

    (- ̄▽ ̄)-* #include<iostream> #include<cstdio> #include<cmath> #include<algorithm ...

  4. MongoDB数据模型(三)

    六.数据模型引用 文档 我们已经知道MongoDB以文档的形式存储数据,而文档是JSON风格的数据结构,由一系列的“字段名-值”对组成,如下所示 { "item": "p ...

  5. .Net Core 读取appsettings.json的配置

    在.net core中是没有*.config 文件的 配置文件都是*.json 1.在project.json里下面这行代码 "Microsoft.Extensions.Options.Co ...

  6. LeetCode OJ 169. Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  7. TortoiseGit - pull 与 fetch

    Git的Pull其实是fetch与Merge两个命令的合并. 平时遇到的问题是,在本地分支进行了一些修改,准备提交.但是怕提交前有其他人push了新的代码.于是想在提交前,看看远程仓库上的log.这时 ...

  8. CSS 背景 background 讲解

    背景语法:background: background-color || background-image || background-repeat || background-attachment ...

  9. 锅巴H264播放器地址和说明

    锅巴H264播放器地址和说明 软件说明:  此工具专门用来播放安防监控行业的H264录像文件,不管是哪个设备厂家的视频协议,只要您的录像文件里有 H264数据,就可以播放. 备注: 因为被一些事情的影 ...

  10. WebDriver获取table的内容(通过动态获取Table单元格的TagName对其innerHTML值进行获取)

    import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedHashMap;import java.util ...