Maison >développement back-end >tutoriel php >linux安装redis服务以及php redis扩展
一:redis安装
Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-3.0.4.tar.gz
$ tar xzf redis-3.0.4.tar.gz
$ cd redis-3.0.4
$ make
The binaries that are now compiled are available in the src directory. Run Redis with:
$ src/redis-server
You can interact with Redis using the built-in client:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
More:http://www.redis.io/download
二、php扩展:
更多版本:http://pecl.php.net/package/redis
wget http://pecl.php.net/get/redis-2.2.5.tgz
#解压
tar zxvf redis-2.2.5.tgz
#进入安装目录
cd redis-2.2.5
/usr/local/php/bin/phpize
#配置
./configure --with-php-config=/usr/local/php/bin/php-config
#编译安装
make && make install
安装完成之后,出现下面的安装路径
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
配置php支持
#编辑配置文件,在最后一行添加以下内容
vim /usr/local/php/etc/php.ini
extension="redis.so"
这个时候phpinfo()就可以看到redis扩展了。
redis小例子:
$redis =new redis();
$test=$redis->connect('127.0.0.1',6379);
var_dump($test);
$result = $redis->set('test',"webyang.net");
var_dump($result);//结果:bool(true)
$result = $redis->get('test');
var_dump($result);//结果:string(11) "webyang.net"
之所以搞这些,是因为公司用阿里的RDS,偶尔瞬间并发高的时候会卡死,CPU直接百分百,RDS是12g的内存,最大IOPS 6000,最大链接数 2000, 实际我们远没达到这个数,所以考虑搞个redis队列玩玩,把一些没必要实时执行的东西放到队列中执行。本来想设置在数据存入几分钟后直接执行队列的,没 想到好的方法,只能在linux写个脚本固定每个几分钟跑一次了,其实相对来说,这种并不是很智能,存在一些资源浪费,大家有什么好的想法吗?求头脑风 暴~