Redis
常城
系统架构师,游戏编程十余年。写过多套游戏框架,技术涉及端游、页游、手游。热爱技术、热爱游戏、热爱生活、热爱一切美好事物。因为热爱,所以投入!
展开
-
Redis (一) 安装
准备部分:什么是redis?Redis是REmote DIctionary Server的缩写。一个非关系型数据库为什么要用redis?1, 因为redis快,Redis is pretty fast!, 110000 SETs/second, 81000 GETs/second 2, 省去了复杂的SQL。3, 可以省去memcache了。 开始:下载redis原创 2010-12-27 10:19:00 · 29281 阅读 · 1 评论 -
redis内存设置--结论是超过内存用量会删key
同事在内存很低(2G内存的云服务器)测试机上,跑了2个含有大量数据的redis库,结果内存不足,redis挂掉了。按照我脑补理解,应该是可以设置内存用量,把常用数据,部分加载到内存,不常用的,保存到硬盘上。结果,不是这样。在RDB模式下,数据就是整块的。如果超出,无论配置哪种淘汰策略,redis干的事儿,就是删key。没错,删key!问你怕不怕!结论:如果redis数据中,存的是关键数据,原创 2018-01-30 17:06:31 · 6211 阅读 · 1 评论 -
redis进程占用CPU很高-达到100
问题说明: 监控发现,redis进程占用CPU很高-达到100%。并且会有2个redis进程。如下图: 分析了一下,因为redis在持久化保存的时候,会fork出一个进程来。仔细观察进程号PID,会发现,占用CPU很高的那个进程,不是redis的主进程。而是fork出来的那个。这个fork出来的进程,由于任务就是持久化,所以它的工作,就是把内存中的数据(此时内存原创 2017-10-23 13:19:18 · 14848 阅读 · 0 评论 -
Redis (二) 常用配置
▲下面是抄过来的配置解释:redis.conf配置选项如下:daemonize 是否以后台进程运行,默认为nopidfile 如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pidbind 绑定主机IP,默认值为127.0.0.1(注释)port 监听端口,默认为6379timeout 超时时间,默认为300(秒)loglevel 日志记录原创 2013-01-23 11:13:46 · 1646 阅读 · 0 评论 -
Python操作redis
首先确保redis已经正常启动。 安装 可以去pypi上找到redis的Python模块: http://pypi.python.org/pypi?%3Aaction=search&term=redis&submit=search 然后按照提示down下来redis-py-2.2.1.tar.gz 非常标准的解压: #tar xvzf redis-py-原创 2010-12-28 13:40:00 · 94186 阅读 · 12 评论 -
Python操作redis(二)hash类型
■ 写在前面: 前面讲的基本的键值对操作,好处是方便,高效。但是,在某些应用中,比如把一个UID作为键,USER对象作为值存进去,USER对象内有大量属性(比如name,age等等),这时候如果要取其中的某条属性,就需要把整个USER对象取出来,看上去是十分浪费I/O的。 redis的散列类型(HASH)可以解决这个问题,只取出你想要的属性值,好处非常明显。坏处是,除了基本的键原创 2016-08-05 15:53:27 · 28025 阅读 · 1 评论 -
解决Redis的Test replication partial resync: ok psync (diskless: yes, reconnect: 1)
*** [err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tclExpected condition '[s -1 sync_partial_ok] > 0' to be true ([s -1 sync_partial_ok] > 0)原创 2016-07-14 17:40:34 · 13563 阅读 · 0 评论 -
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
晚上10点,同事给我电话,服务器挂掉了,报错如下: File "build\bdist.win32\egg\redis\client.py", line 361, in execute_command return self.parse_response(connection, command_name, **options) File "build\bdist.w原创 2013-12-14 22:25:21 · 10284 阅读 · 0 评论 -
redis崩溃
python客户端报错:ConnectionError: Error 10061 connecting 192.168.1.6:6379. .redis报错:FATAL: Data file was created with a Redis server configured to handle more than 16 databases.把 daemonize原创 2013-09-18 11:22:35 · 6024 阅读 · 0 评论 -
python的redis客户端性能
三年前写过python的redis操作。到现在,python的redis客户端已经发展了很多了。但是今天测试了一下性能,觉得性能还是比较低。python的客户端,为python的redis。在pypi上可以下载的到。测试结果: 简单测试了一下,每秒只能写入1200条左右的数据。跟redis每秒写8万次的性能,相差很远。而且,测试数据,我分别用了1字节和1100字节两种数据,发原创 2013-06-17 16:19:23 · 3910 阅读 · 1 评论 -
Redis需要多少内存预留-内存占用多少才安全
上一篇文章,我已经尝试过,用设置的方式,去限制redis内存的占用大小,结果发现是不可行的。(redis不会区分冷热数据,保留冷数据在硬盘上)。那么如果要正常运行redis,就需要知道,redis最多可以占用多少内存,保留多少内存。结论:极限情况:留出一倍内存。比如你的redis数据占用了8G内存,那么你还需要再预留8G空闲内存。也就是内存需求是16G。内存占用率低于50%是最安全的。普通情况:正...原创 2018-02-10 18:13:37 · 36936 阅读 · 3 评论