<?php xml version="1.0" encoding="UTF-8"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><![CDATA[曲文庆&#39;s Blog]]></title>
<link>http://www.quwenqing.com/</link>
<description><![CDATA[]]></description>
<language>zh-tw</language>
<copyright><![CDATA[CopyRight 2008 F2Blog.com|F2Cont.com All Rights Reserved.]]></copyright>
<webMaster><![CDATA[quwenqing@quwenqing.com ()]]></webMaster>
<atom:link href="http://www.quwenqing.com/rss.html" rel="self" type="application/rss+xml" />
<generator>F2blog .cont 1.1 Build 090810</generator> 
<image>
	<title>曲文庆&#39;s Blog</title> 
	<url>http://www.quwenqing.com/attachments/8278598901.jpg</url> 
	<link>http://www.quwenqing.com/</link> 
	<description>曲文庆&#39;s Blog</description> 
</image>
<item>
	<link>http://www.quwenqing.com/read-187.html</link>
	<title><![CDATA[memcache还是redis]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Wed, 31 Oct 2012 16:49:52 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-187.html</guid>	
	<description><![CDATA[<p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; text-align: left">转载：&nbsp;</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; text-align: left">经常在项目里会遇见作为缓存是选择memcache还是redis，虽然redis在近几年比较火，但也不能完全就认为redis可以取代memcache，他两也有各自的优点。下面来看看两者之间的不同。</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; text-align: left">下面内容来自Redis作者在stackoverflow上的一个回答，对应的问题是《<a style="color: #336699; text-decoration: none" href="http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur-in-comparison-to-redis" target="_blank">Is memcached a dinosaur in comparison to Redis</a>?》</p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 26px; text-align: left">You should not care too much about performances. Redis is faster per core with small values, but memcached is able to use multiple cores with a single executable and TCP port without help from the client. Also memcached is faster with big values in the order of 100k. Redis recently improved a lot about b</p>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-177.html</link>
	<title><![CDATA[redis使用过程中的几点经验教训]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Thu, 25 Oct 2012 15:08:11 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-177.html</guid>	
	<description><![CDATA[<div><br /></div><div>1、Redis在启动时会把数据加载到内存中，达到最大内存后，Redis会先尝试清除已到期或即将到期的Key，当此方法处理后，仍然到达最大内存设置，将无法再进行写入操作，但仍然可以进行读取操作。</div><div><br /></div><div>2、到底是否需要redis的持久化能力？</div><div>　　redis持久化的是数据集的当前快照，于是当你用它来做存储，而不是缓存时，就会很纠结。</div><div>　　当数据集很大的时候，比如64G内存，数据集30G，你愿意dump快照或者aof收缩吗？如果这样做，问题就来了，redis的dump是fork一个进程，利用操作系统内存管理的copy-on-write来得到当前内存快照，但如果数据的更新比较频繁，30G内存dump到磁盘的速度又不快，就会导致在dump的时候需要大量的内存来做写时copy，需要的新内存加上原有的30G内存，可能导致操作系统swap，同时因为copy-on-write，主线程在处理请求时也会变慢，redis的整体性能急速下降。</div><div>　　所以大数据集把redis当做cache，只有当数据集很小的时候，才用它来做持久存储。</div><div><br /></div><div>3、因为redis的malloc方式，导致一个潜在问题，就是当有很多small object放</div>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-152.html</link>
	<title><![CDATA[Redis 2.2 性能问题]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Mon, 26 Mar 2012 18:55:18 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-152.html</guid>	
	<description><![CDATA[<br /> 系统环境：<br /> CPU：E5620 X 2<br /> Memory：96G<br /> Disk：300G SAS<br /> OS：CentOS 5<br /> Redis：2.2.12<br /><br /> 服务器创建了两个redis 实例：A和B<br /> 实例A内存占用200M多，有频繁的读写操作<br /> 实例B内存占用1G多，主要是读操作<br /><br /> 系统每小时对实例A和B做一次bgrewriteaof<br /> 后端有针对实例A和B业务的可用性监控<br /><br /> 问题：<br /> 当B实例做bgrewriteaof时候，A实例的业务访问异常，用cli模式登陆A实例，发现无论是读还是写，都异常慢。<br /> 观察系统资源，很淡定，观察disk io，发现B实例做bgrewriteaof时，disk的使用率100%<br /> 分析是硬盘资源阻塞了A实例<br /> 通过分析，redis配置的是&nbsp; appendfsync everysec （默认配置），由于redis每秒做fsync，而fsync是在主进程完成的，此时disk的io使用率是100%，导致了redis的阻塞。<br /> 对2.2版本的临时解决方案<br /> appendfsync no<br /> no-appendfsync-on-rewrite yes<br /><br /> 终极解决，升级到redis 2.4<br /> 在re]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-148.html</link>
	<title><![CDATA[redis将slave转换为master]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Fri, 16 Dec 2011 17:30:14 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-148.html</guid>	
	<description><![CDATA[<span style="color: #555555; font-family: 宋体; font-size: 9pt">在</span><span style="color: #555555; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; font-size: 9pt">slave server</span><span style="color: #555555; font-family: 宋体; font-size: 9pt">上执行</span><span style="color: #555555; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; font-size: 9pt">&rdquo;SLAVEOF NO ONE&rdquo;,</span><span style="color: #555555; font-family: 宋体; font-size: 9pt">将</span><span style="color: #555555; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; font-size: 9pt">slave server</span><span style="color: #555555; font-family: 宋体; font-size: 9pt">转换为</span><span style="color: #555555; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; font-size: 9pt">master server.<br /><br /><span style="color: #333333; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt">Once you are sure that the master is no longer receiving any query (you can check this with the </span><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-size: 14pt"><a href="http://redis.io/commands/monitor"><span style="color: #0066aa; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; text-decoration: none; text-underline: none">MONITOR command</span></a></span><span style="color: #333333; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt">), elect the slave to master using the SLAVEOF NO ONE command, and shut down your master.<br /><br /></span></span>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-144.html</link>
	<title><![CDATA[redis海量数据测试（续三）]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Thu, 17 Nov 2011 11:04:52 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-144.html</guid>	
	<description><![CDATA[<h1><font size="5">redis海量数据测试（续三）</font></h1><p>提纲:</p><div><ul><li>redis海量数据测试（ 续三）</li><ul><li>环境</li><li>运行脚本</li><li>redis配置</li><li>运行时间</li><li>系统状态</li><li>运行结果</li></ul></ul></div><p>100000000 keys in Redis 2.2.12</p><p>用1到100000000数字做key，用固定uuid做value，写入redis<br /> key:value格式：</p><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_821376" class="syntaxhighlighter nogutter  java ie"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><br /> 100000000:0810d16b-056d-47f4-9895-48399b50b169</div></div></td></tr></table></div></div></div></div><h3>环境</h3><p>CPU：Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 2<br /> MEM：32G<br /> DISK：300G SAS</p><h3>运行脚本</h3><p>run.sh<br /></p><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_988295" class="syntaxhighlighter nogutter  java ie"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">#!/bin/sh </div><div class="line number3 index2 alt2">for i in `seq 1 100` </div><div class="line number4 index3 alt1">do </div><div class="line number5 index4 alt2">~/redis_test2.sh $i &amp; </div><div class="line number6 index5 alt1">done</div></div></td></tr></table></div></div></div></div><p><br /> redis_test2.sh</p><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_690793" class="syntaxhighlighter nogutter  java ie"><div class="toolbar"><span><br /></span></div><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">#!/bin/sh </div><div class="line number3 index2 alt2">log=~/redis_run.log </div><div class="line number4 index3 alt1">slog=~/redis_status.log </div><div class="line number5 index4 alt2">redis=/usr/local/redis/bin/redis-cli </div><div class="line number6 index5 alt1">#cat /dev/null &gt; $log </div><div class="line number7 index6 alt2">#cat /dev/null &gt; $slog </div><div class="line number9 index8 alt2">echo &quot;$</div></div></td></tr></table></div></div></div></div>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-143.html</link>
	<title><![CDATA[redis海量数据测试（续二）]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Thu, 17 Nov 2011 11:02:20 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-143.html</guid>	
	<description><![CDATA[<h1><font size="5">redis海量数据测试（续二）</font></h1><p>提纲:</p><div><ul><li>redis海量数据测试（ 续二）</li><ul><li>环境</li><li>运行脚本</li><li>redis配置</li><li>运行时间</li><li>运行结果</li></ul></ul></div><p>100000000 keys in Redis 2.2.12</p><p>用1到100000000数字做key，用固定uuid做value，写入redis<br /> key:value格式：</p><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_215268" class="syntaxhighlighter nogutter  java ie"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">100000000:0810d16b-056d-47f4-9895-48399b50b169</div></div></td></tr></table></div></div></div></div><h3>环境</h3><p>CPU：Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 2<br /> MEM：32G<br /> DISK：300G SAS</p><h3>运行脚本</h3><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_214249" class="syntaxhighlighter nogutter  java ie"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">#!/bin/sh </div><div class="line number3 index2 alt2">log=~/redis_run.log </div><div class="line number4 index3 alt1">slog=~/redis_status.log </div><div class="line number5 index4 alt2">redis=/usr/local/redis/bin/redis-cli </div><div class="line number6 index5 alt1">cat /dev/null &gt; $log </div><div class="line number7 index6 alt2">cat /dev/null &gt; $slog </div><div class="line number9 index8 alt2">echo `date` &gt;&gt; $log </div><div class="line number10 index9 alt1">k=1</div><div class="line number11 index10 alt2">while [ $k -le 100000000 ] </div><div class="line number12 index11 alt1">do</div><div class="line number13 index12 alt2">v=&quot;0810d16b-056d-47f4-9895-48399b50b169&q</div></div></td></tr></table></div></div></div></div>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-142.html</link>
	<title><![CDATA[redis海量数据测试（续一）]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Sun, 09 Oct 2011 16:02:18 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-142.html</guid>	
	<description><![CDATA[<h1><font size="5">redis海量数据测试（续一）</font></h1><p>提纲:</p><div><ul><li>redis海量数据测试（ 续一）</li><ul><li>环境</li><li>运行脚本</li><li>redis配置</li><li>运行时间</li><li>运行结果</li><li>aof导出</li><li>重启redis</li></ul></ul></div><p>100000000 keys in Redis 2.2.12</p><p>用1到100000000数字做key，用随机uuid做value，写入redis<br /> key:value格式：</p><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_359103" class="syntaxhighlighter nogutter  java"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">100000000:a47d8af2-09d3-4195-afd3-c2d8a094a614</div></div></td></tr></table></div></div></div></div><h3>环境</h3><p>CPU：Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 2<br /> MEM：32G<br /> DISK：300G SAS</p><h3>运行脚本</h3><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_726783" class="syntaxhighlighter nogutter  java"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">#!/bin/sh</div><div class="line number3 index2 alt2">log=~/redis_run.log</div><div class="line number4 index3 alt1">slog=~/redis_status.log</div><div class="line number5 index4 alt2">redis=/usr/local/redis/bin/redis-cli</div><div class="line number6 index5 alt1">cat /dev/null &gt; $log</div><div class="line number7 index6 alt2">cat /dev/null &gt; $slog</div><div class="line number9 index8 alt2">echo `date` &gt;&gt; $log</div><div class="line number10 index9 alt1">k=1</div><div class="line number11 index10 alt2">while [ $k -le 100000000 ]</div><div class="line number12 index11 alt1">do</div><div class="line number13 index12 alt2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></div></td></tr></table></div></div></div></div>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-141.html</link>
	<title><![CDATA[redis海量数据测试]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Sun, 09 Oct 2011 16:00:59 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-141.html</guid>	
	<description><![CDATA[<div class="wiki-content"><h1><font size="5">redis海量数据测试</font></h1><p>提纲:</p><div><ul><li>redis海量数据测试</li><ul><li>环境</li><li>运行脚本</li><li>redis配置</li><li>运行时间</li><li>运行结果</li><li>aof导出</li><li>重启redis</li></ul></ul></div><p>100000000 keys in Redis 2.2.12</p><p>用1到100000000数字做key，用随机uuid做value，写入redis<br /> key:value格式：</p><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_569797" class="syntaxhighlighter nogutter  java"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">100000000:a47d8af2-09d3-4195-afd3-c2d8a094a614</div></div></td></tr></table></div></div></div></div><h3>环境</h3><p>CPU：Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 2<br /> MEM：32G<br /> DISK：300G SAS</p><h3>运行脚本</h3><div class="code panel" style="border-width: 1px"><div class="codeContent panelContent"><div><div id="highlighter_166021" class="syntaxhighlighter nogutter  java"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="code"><div class="container"><div class="line number1 index0 alt2">#!/bin/sh</div><div class="line number3 index2 alt2">log=~/redis_run.log</div><div class="line number4 index3 alt1">slog=~/redis_status.log</div><div class="line number5 index4 alt2">redis=/usr/local/redis/bin/redis-cli</div><div class="line number6 index5 alt1">cat /dev/null &gt; $log</div><div class="line number7 index6 alt2">cat /dev/null &gt; $slog</div><div class="line number9 index8 alt2">echo `date` &gt;&gt; $log</div><div class="line number10 index9 alt1">k=1</div><div class="line number11 index10 alt2">while [ $k -le 100000000 ]</div><div class="line number12 index11 alt1">do</div><div class="line number13 index12 alt2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v=`</div></div></td></tr></table></div></div></div></div></div>]]></description>
</item>
<item>
	<link>http://www.quwenqing.com/read-140.html</link>
	<title><![CDATA[CentOS 下 Redis 2.2.12 安装配置详解]]></title>
	<author><![CDATA[quwenqing@quwenqing.com (曲文庆)]]></author>
	<category><![CDATA[NoSQL]]></category>
	<pubDate>Sun, 09 Oct 2011 15:56:08 +0800</pubDate>
	<guid>http://www.quwenqing.com/read-140.html</guid>	
	<description><![CDATA[<br /><h1><font size="5">CentOS下Redis 2.2.12安装配置详解</font></h1><div class="panel" style="border-width: 1px"><div class="panelContent"><p><strong>提纲：</strong></p><div><ul><li>CentOS 下 Redis 2.2.12 安装配置详解</li><ul><li>一. 关于 Redis</li><li>二. 安装 Redis</li><ul><li>1. 下载redis最新版本2.2.12</li><li>2. 编译安装redis</li><li>3. 建立Redis目录（建议，非必需）</li></ul><li>三. 配置 Redis</li><ul><li>1. redis.conf 配置参数：</li><li>2. 调整系统内核参数</li></ul><li>四. 运行 Redis</li><ul><li>1. 运行服务</li><li>2. 关闭服务</li><li>3. 保存/备份</li><li>4. 同步机制</li></ul></ul></ul></div></div></div><h2>一. 关于 Redis</h2><p>Redis是一种高级 key-value 数据库。它跟 memcached 类似，不过数据可以持久化，而且支持的数据类型很丰富。它在保持键值数据库简单快捷特点的同时，又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据，还能保存Lists类型（有序）和Sets类型（无序）的数据，而且还能完成排序（SORT）等高级功能，在实现INCR，SETNX等功能的时候，保证了其操作的原子性，除此以外，还支持主从复制等功能。Redis可以被看成是一个数据结构服务器。<br /> Redis的所有数据都是保存在</p>]]></description>
</item>
</channel>
</rss>
