张映 发表于 2018-05-23

分类目录: php

php7.0升级php7.1后,php -m看不到redis模块,加载redis会报以下问题,

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/redis.so' - /usr/lib/php/20160303/redis.so: undefined symbol: igbinary_serialize in Unknown on line 0

阅读全文>>

张映 发表于 2016-04-16

分类目录: nosql

redis突然挂掉后,无法启动,查看log日志,发现报Short read or OOM loading DB. Unrecoverable error, aborting now

阅读全文>>

张映 发表于 2015-12-10

分类目录: nosql

一,什么是overcommit or oom问题

Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做Overcommit。当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。

当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该函数会计算每个进程的点数(0~1000)。点数越高,这个进程越有可能被杀死。每个进程的点数跟oom_score_adj有关,而且oom_score_adj可以被设置(-1000最低,1000最高)。

阅读全文>>

张映 发表于 2015-05-11

分类目录: nosql

找遍了redis cluster官方文档,没发现有关集群重启和关闭的方法。为啥会没有呢,猜测redis cluster至少要三个节点才能运行,三台同时挂掉的可能性比较小,只要不同时挂掉,挂掉的机器修复后在加入集群,集群都能良好的运作,万一同时挂掉,数据又没有备份的话,就有大麻烦了。

redis cluster集群中的节点基本上都对等的,没有管理节点。如果要让所有节点都关闭,只能关闭进程了# pkill -9 redis

阅读全文>>

张映 发表于 2015-05-11

分类目录: nosql

有人问我,redis的多数据库,是不是启动多个redis进程,监听不同的端口。从某种层面上来说,这样可以算是,但是不推荐。

阅读全文>>

张映 发表于 2015-05-05

分类目录: nosql

php有redis的扩展,目前来说,还不支持redis cluster,推荐一下predis,功能比较全,从单个,到主从,到cluster都是支持的。效率怎么样,要靠自己去测试一下。

阅读全文>>

张映 发表于 2015-05-04

分类目录: nosql

这篇文章是接着上一篇来的,看本文前最好先看一下上篇文章。

redis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢。

阅读全文>>

张映 发表于 2015-05-01

分类目录: nosql

Redis 集群是一个提供在多个Redis间节点间共享数据的程序集.redis3.0以前,只支持主从同步的,如果主的挂了,写入就成问题了。3.0出来后就可以很好帮我们解决这个问题。

目前redis 3.0还不稳定,如果要用在生产环境中,要慎重。

阅读全文>>

张映 发表于 2015-04-30

分类目录: nosql

redis配置参数,非常的多,下面罗列了一些redis 常用参数配置,以及中文注释。

阅读全文>>

张映 发表于 2015-01-22

分类目录: php

以前考虑过这个问题,今天实现了一下,挺快的,从研究到开发完成差不多4个小时。有点类似QQ,二台电脑登录,一台会把另一台挤掉线,并提示其他地点登录信息。

阅读全文>>