缓存服务器Couchbase另外一种选择Redis
documentation
http://redis.io/documentation
http://redis.cn/documentation.html
Redis 命令参考
http://redisdoc.com/

$ mkdir data
$ yum install tcl
$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz
$ tar xzf redis-3.0..tar.gz
$ cd redis-3.0.

$ make

make test

You need 'tclsh8.5' in order to run the Redis test
yum install tcl

$ src/redis-server

[root@localhost redis-3.0.2]# src/redis-server

25946:C 02 Jul 11:02:26.749 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf

_._                                                 
           _.-``__ ''-._                                            
      _.-``    `.  `_.  ''-._           Redis 3.0.2 (00000000/0) 64 bit

.-`` .-```.  ```\/    _.,_ ''-._                                  
(    '      ,       .-`  | `,    )     Running in standalone mode

|`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379

|    `-._   `._    /     _.-'    |     PID: 25946

`-._    `-._  `-./  _.-'    _.-'                                  
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |           http://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                  
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |                                 
  `-._    `-._`-.__.-'_.-'    _.-'                                  
      `-._    `-.__.-'    _.-'                                      
          `-._        _.-'                                          
              `-.__.-'

25946:M 02 Jul 11:02:26.751 # Server started, Redis version 3.0.2

25946:M 02 Jul 11:02:26.751 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

25946:M 02 Jul 11:02:26.751 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

25946:M 02 Jul 11:02:26.751 * The server is now ready to accept connections on port 6379

警告:过量使用内存设置为0!在低内存环境下,后台保存可能失败。为了修正这个问题,请在/etc/sysctl.conf 添加一项 'vm.overcommit_memory = 1' ,然后重启(或者运行命令'sysctl vm.overcommit_memory=1' )使其生效。

$ vi /etc/sysctl.conf
vm.overcommit_memory =

:wq
$ sysctl vm.overcommit_memory

=

$ 

echo never > /sys/kernel/mm/transparent_hugepage/enabled $ echo > /proc/sys/net/core/somaxconn

#查看进程
ps -ef | grep redis

#杀死进程

kill -9 25946

redis.conf 配置

#守护进程启动

daemonize yes

#数据文件路径

dir /opt/data/

#日志文件路径

logfile "/opt/data/redis.log"

#缓存数据名称

dbfilename dump.rdb

#启动服务
src/redis-server /opt/redis-3.0.2/redis.conf

$ src/redis-cli

redis> set foo bar

OK

redis> get foo

"bar"

redis> exit

#关闭服务

$ src/redis-cli shutdown

持久化(persistence)

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。

AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。

Redis 还可以同时使用 AOF 持久化和 RDB 持久化。 在这种情况下, 当 Redis 重启时, 它会优先使用 AOF 文件来还原数据集, 因为 AOF 文件保存的数据集通常比 RDB 文件所保存的数据集更完整。

复制(Replication)

http://redisdoc.com/topic/replication.html

配置一个从服务器非常简单,只要在配置文件中增加以下的这一行就可以了:

slaveof 192.168.1.1 6379

另外一种方法是调用 SLAVEOF 命令输入主服务器的 IP 和端口,然后同步就会开始:

127.0.0.1:6379> SLAVEOF 172.23.100.220 6379

OK

#salve日志

redisdemo@021rjsh17217s:/opt/redis-3.0.2$ sudo src/redis-server /opt/redis-3.0.2/redis.conf

28971:M 02 Jul 13:51:57.192 * Increased maximum number of open files to 10032 (it was originally set to 1024).

_._                                                 
           _.-``__ ''-._                                            
      _.-``    `.  `_.  ''-._           Redis 3.0.2 (00000000/0) 64 bit

.-`` .-```.  ```\/    _.,_ ''-._                                  
(    '      ,       .-`  | `,    )     Running in standalone mode

|`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379

|    `-._   `._    /     _.-'    |     PID: 28971

`-._    `-._  `-./  _.-'    _.-'                                  
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |           http://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                  
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |                                 
  `-._    `-._`-.__.-'_.-'    _.-'                                  
      `-._    `-.__.-'    _.-'                                      
          `-._        _.-'                                          
              `-.__.-'

28971:M 02 Jul 13:51:57.193 # Server started, Redis version 3.0.2

28971:M 02 Jul 13:51:57.194 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

28971:M 02 Jul 13:51:57.194 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

28971:M 02 Jul 13:51:57.194 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

28971:M 02 Jul 13:51:57.194 * The server is now ready to accept connections on port 6379

28971:S 02 Jul 13:56:04.572 * SLAVE OF 172.23.100.220:6379 enabled (user request)

28971:S 02 Jul 13:56:04.960 * Connecting to MASTER 172.23.100.220:6379

28971:S 02 Jul 13:56:04.960 * MASTER <-> SLAVE sync started

28971:S 02 Jul 13:56:04.961 * Non blocking connect for SYNC fired the event.

28971:S 02 Jul 13:56:04.962 * Master replied to PING, replication can continue...

28971:S 02 Jul 13:56:04.962 * Partial resynchronization not possible (no cached master)

28971:S 02 Jul 13:56:04.963 * Full resync from master: 3179db3e14a2f3abc534bc0dc28a7c025d3dd259:1

28971:S 02 Jul 13:56:05.070 * MASTER <-> SLAVE sync: receiving 40 bytes from master

28971:S 02 Jul 13:56:05.071 * MASTER <-> SLAVE sync: Flushing old data

28971:S 02 Jul 13:56:05.071 * MASTER <-> SLAVE sync: Loading DB in memory

28971:S 02 Jul 13:56:05.071 * MASTER <-> SLAVE sync: Finished with success

#master日志

                _._                                                 
           _.-``__ ''-._                                            
      _.-``    `.  `_.  ''-._           Redis 3.0.2 (00000000/0) 64 bit

.-`` .-```.  ```\/    _.,_ ''-._                                  
(    '      ,       .-`  | `,    )     Running in standalone mode

|`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379

|    `-._   `._    /     _.-'    |     PID: 26132

`-._    `-._  `-./  _.-'    _.-'                                  
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |           http://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                  
|`-._`-._    `-.__.-'    _.-'_.-'|                                 
|    `-._`-._        _.-'_.-'    |                                 
  `-._    `-._`-.__.-'_.-'    _.-'                                  
      `-._    `-.__.-'    _.-'                                      
          `-._        _.-'                                          
              `-.__.-'

26132:M 02 Jul 11:23:14.445 # Server started, Redis version 3.0.2

26132:M 02 Jul 11:23:14.445 * DB loaded from disk: 0.000 seconds

26132:M 02 Jul 11:23:14.445 * The server is now ready to accept connections on port 6379

26132:M 02 Jul 13:43:39.602 * 1 changes in 900 seconds. Saving...

26132:M 02 Jul 13:43:39.602 * Background saving started by pid 26692

26692:C 02 Jul 13:43:39.608 * DB saved on disk

26692:C 02 Jul 13:43:39.608 * RDB: 0 MB of memory used by copy-on-write

26132:M 02 Jul 13:43:39.704 * Background saving terminated with success

26132:M 02 Jul 14:10:20.543 * Slave 172.23.100.217:6379 asks for synchronization

26132:M 02 Jul 14:10:20.543 * Full resync requested by slave 172.23.100.217:6379

26132:M 02 Jul 14:10:20.543 * Starting BGSAVE for SYNC with target: disk

26132:M 02 Jul 14:10:20.544 * Background saving started by pid 26797

26797:C 02 Jul 14:10:20.549 * DB saved on disk

26797:C 02 Jul 14:10:20.550 * RDB: 0 MB of memory used by copy-on-write

26132:M 02 Jul 14:10:20.650 * Background saving terminated with success

26132:M 02 Jul 14:10:20.650 * Synchronization with slave 172.23.100.217:6379 succeeded

集群

http://www.oschina.net/p/codis

客户端

j2cache

http://www.oschina.net/p/j2cache

http://my.oschina.net/tinyframework/blog/390484

StackExchange.Redis

https://github.com/StackExchange/StackExchange.Redis

REFER:

Redis 启动警告错误解决

http://skly-java.iteye.com/blog/2167400

Redis (二) 配置

http://blog.csdn.net/chenggong2dm/article/details/8533206

Redis Sentinel集群方案--单机测试

http://luyx30.blog.51cto.com/1029851/1349027

redis sentinel 主从切换(failover)解决方案,详细配置

http://blog.mkfree.com/posts/5257683d479e1dd72e7c1b4e

Redis.conf 配置文件详解

http://h2ex.com/207

谈Twitter的百TB级Redis缓存实践

http://h2ex.com/193

Redis 缓存服务配置与使用的更多相关文章

  1. 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器

    一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...

  2. Windows Azure Redis 缓存服务

    8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...

  3. Linux系统下Redis缓存安装配置

    Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器.楼主是一枚JAVA后端程序员,也算是半个运维工程师了.在Linux服务器上搭建Redis,怎么可以 ...

  4. 【转载】Redis Sentinel服务配置

    转载地址:http://blog.csdn.net/vtopqx/article/details/49247285 redis官网文档:http://www.redis.cn/topics/senti ...

  5. Redis缓存服务搭建及实现数据读写

    发现博客园中好多大牛在介绍自己的开源项目是很少用到缓存,比如Memcached.Redis.mongodb等,今天得空抽时间把Redis缓存研究了一下,写下来总结一下,跟大家一起分享 一下.由于小弟水 ...

  6. Redis缓存服务搭建及实现数据读写--转载

    来自 http://www.cnblogs.com/lc-chenlong/p/3218157.html 1.  下载安装Redis 下载地址:https://github.com/MSOpenTec ...

  7. Redis缓存服务搭建及实现数据读写 - Eric.Chen

    发现博客园中好多大牛在介绍自己的开源项目是很少用到缓存,比如Memcached.Redis.mongodb等,今天得空抽时间把Redis缓存研究了一下,写下来总结一下,跟大家一起分享 一下.由于小弟水 ...

  8. Key-value数据库:Redis缓存服务

    Redis 是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.其提供了多种主流语言的客户端,方便使用:同时Redis支持主 ...

  9. 【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果

    当使用Azure Redis高级版时候,为了能更好的保护Redis的安全,启用了虚拟网路,把Redis集成在Azure中的虚拟网络,只能通过虚拟网络VENT中的资源进行访问,而公网是不可以访问的.但是 ...

随机推荐

  1. chmod用法

    以下是chmod的详细用法:chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设 ...

  2. (转载)Fiddler实战深入研究(二)

    原文来源于:http://www.cnblogs.com/tugenhua0707/p/4637771.html,作者:涂根华 !个人觉得文章写的特别好,故收藏于此,感谢原作者的分享 Fiddler实 ...

  3. AngularJS中$interval和$timeout的使用

    我们在项目中会出现定时刷新,延迟加载等多种场景. 接下来就看$interval和$timeout的使用 $interval可用于定时任务,我们只需在controller注入$interval即可使用. ...

  4. Struts2-result

    所有result-type <result-types> <result-type name="chain" class="com.opensympho ...

  5. (记忆化搜索) FatMouse and Cheese(hdu 1078)

    题目大意:   给n*n地图,老鼠初始位置在(0,0),它每次行走要么横着走要么竖着走,每次最多可以走出k个单位长度,且落脚点的权值必须比上一个落脚点的权值大,求最终可以获得的最大权值   (题目很容 ...

  6. 2、GCC编译器的使用

    GCC编译器是一个非常强大和流行的C编译器,适用于各种Linux发行版.本文解释了一些流行的GCC编译器选项. GCC编译器选项 1.指定输出可执行文件名称 在最基本的形式中,gcc编译器可以用作: ...

  7. 主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis)

    上一篇总结了潜在语义分析(Latent Semantic Analysis, LSA),LSA主要使用了线性代数中奇异值分解的方法,但是并没有严格的概率推导,由于文本文档的维度往往很高,如果在主题聚类 ...

  8. 再论hibernatetemplate

    自动生成hibernate配置文件的时候,会在dao层用到getSession()方法来操作数据库记录,但是他还有个方法getHibernateTemplate(),这两个方法究竟有什么区别呢? 1. ...

  9. jvm虚拟机--堆内存

    reserved 保留区域 堆 所有对象实例都在这里分配内存. 是垃圾收集的主要区域("GC 堆").现代的垃圾收集器基本都是采用分代收集算法,主要思想是针对不同的对象采取不同的垃 ...

  10. cxGrid单元格获得输入焦点

    cxGrid单元格获得输入焦点   cxGrid单元格获得输入焦点 cxGrid1.SetFocus;cxGrid1DBTableView1.Controller.EditingController. ...