1.安装:
Windows:
下载地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。
如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。
这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey
linux:
下载地址:http://redis.io/download
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make
make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
下面启动redis服务.
$ cd src $ ./redis-server
此时我运行时有报错:Warning: no config file specified, using the default config.
In order to specify a config file use 'redis-server /path/to/redis.conf'
$ cd src $ ./redis-server /redis-2.8.17/redis.conf此时还有一个警告: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.
redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:
$ cd src $ ./redis-cli redis> set foo bar OK redis> get foo "bar"
2.修改配置
使用 * 号获取所有配置项:
redis 127.0.0.1:6379> CONFIG GET *
你可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。
CONFIG SET 命令基本语法:
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
不能使用config方式修改,因此修改配置文件
vim redis.conf
redis-server /redis-2.8.17/redis.conf
3.PHP使用redis
PHP安装redis扩展
$ wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz $ cd phpredis-3.1.4 # 进入 phpredis 目录 $ /opt/remi/php70/root/usr/bin/phpize # php安装后的路径 $ ./configure --with-php-config=/opt/remi/php70/root/usr/bin/php-config $ make && make install
vim /etc/php.ini
extension_dir = "/opt/remi/php70/root/usr/bin/php/modules/" extension="redis.so"
php -m
备注:由于我先安装了php-fpm,又安装了PHP,所以extension_dir还是注释状态;extension="/opt/remi/php70/root/usr/bin/php/modules/redis.so";
连接到redis服务
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server sucessfully"; //查看服务是否运行 echo "Server is running: " . $redis->ping(); ?>
执行脚本,输出结果为:
Connection to server sucessfully Server is running: +PONG
redis PHP String(字符串) 实例
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server sucessfully"; //设置 redis 字符串数据 $redis->set("tutorial-name", "Redis tutorial"); // 获取存储的数据并输出 echo "Stored string in redis:: " . $redis->get("tutorial-name"); ?>
执行脚本,输出结果为:
Connection to server sucessfully Stored string in redis:: Redis tutorial
redis PHP List(列表) 实例
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server sucessfully"; //存储数据到列表中 $redis->lpush("tutorial-list", "Redis"); $redis->lpush("tutorial-list", "Mongodb"); $redis->lpush("tutorial-list", "Mysql"); // 获取存储的数据并输出 $arList = $redis->lrange("tutorial-list", 0 ,5); echo "Stored string in redis"; print_r($arList); ?>
执行脚本,输出结果为:
Connection to server sucessfully Stored string in redis Mysql Mongodb Redis
redis PHP keys 实例
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server sucessfully"; // 获取数据并输出 $arList = $redis->keys("*"); echo "Stored keys in redis:: "; print_r($arList); ?>执行脚本,输出结果为:
Connection to server sucessfully Stored string in redis:: tutorial-name tutorial-list