redis 是一个高性能的 key-value 数据库。 redis 的出现,很大程度补偿了 memcached 这类 keyvalue 存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了 Python,Ruby,Erlang,PHP 客户端,使用很方便。目前国内新浪微博等一些都在用。

记录一下我的 redis 安装和配置过程,主要是 redis 在 linux 下的安装配置,phpredis 的安装,以及 Netbeans 中配置 phpredis 的代码自动完成。

  • 下载最新的稳定版本 redis,解压编译安装:
wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz
tar zxvf redis-2.4.17.tar.gz
cd redis-2.4.17/
make
sudo make install
  • 编译好的文件将被复制到了/usr/local/bin 下

mkdir -p /usr/local/bin cp -pf redis-server /usr/local/bin cp -pf redis-benchmark /usr/local/bin cp -pf redis-cli /usr/local/bin cp -pf redis-check-dump /usr/local/bin cp -pf redis-check-aof /usr/local/bin

  • 将配置文件复制到 /etc 下面
sudo cp /usr/local/redis/redis.conf /etc/
  • 创建数据文件目录
sudo mkdir -p /var/db/redis
  • 启动 redis
redis-server /etc/redis.conf
  • 可能出现如下的 2 个问题,

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.

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

该文件指定了内核针对内存分配的策略,其值可以是 0、1、2。 0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。 1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。 2,表示内核允许分配超过所有物理内存和交换空间总和的内存

Warning: 32 bit instance detected but no memory limit set. Setting 3.5 GB maxmemory limit with ‘noeviction’ policy now.

修改配置文件 redis.conf,将 maxmemory 设置为 maxmemory 1024000000 #分配 256M 内存

  • 关闭 redis
redis-cli shutdown
  • 关闭指定端口的 redis-server
redis-cli -p 6379 shutdown

然后安装 phpredis,到这里下载https://github.com/nicolasff/phpredis/,解压进入目录 如果没有 phpize 可以先安装 sudo apt-get install php5-dev

phpize
 ./configure --with-php-config=/usr/bin/php-config

make && make install

然后修改 php.ini,添加 extension=redis.so,我是在 /etc/php5/apache2/conf.d/ 新建 redis.ini 并加入 extension=redis.so,然后重启服务器

sudo service apache2 restart

因为我用的是Netbeans IDE,所以我添加了 phpredis-phpdoc,载https://github.com/ukko/phpredis-phpdoc 然后解压,在 netbeans 的项目->属性->PHP 包含路径->添加,然后新建一个测试文件

<?php $redis = new Redis(); $redis--->connect('127.0.0.1', 6379);
$redis->set('test', 'this is  redis test');
echo $redis->get('test');

输出 this is redis test,到此整个配置过程结束

转载请注明: 转载自Ryan 是菜鸟 | LNMP 技术栈笔记

如果觉得本篇文章对您十分有益,何不 打赏一下

谢谢打赏

本文链接地址: Redis 以及 phpredis 安装配置

知识共享许可协议 本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可