Redis 简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis 安装
在各平台上安装 redis,查询: http://www.runoob.com/redis/redis-install.html
php 扩展 Redis
在 Windows 上安装完 redis 后,如果需要在运行的 php 项目上运行 redis,需要扩展 php 对 redis 的支持。需要安装2个 dll 扩展文件(php_igbinary 和 php_redis)。
首先需要根据自己的 php 版本信息,选择对应的扩展文件。
php_igbinary.dll : http://windows.php.net/downloads/pecl/releases/igbinary/1.1.1/
php_redis.dll : http://windows.php.net/downloads/pecl/releases/redis/2.2.7/
将下载解压后的 php_igbinary.dll 和 php_redis.dll 放入 php 的 ext 目录下
然后修改 php.ini(wamp地址: wamp\bin\apache\bin),加入
; php-redis
extension=php_igbinary.dll
extension=php_redis.dll
重启 apache,查看 phpinfo 就有 redis 扩展的信息了
php 操作 Redis
在上述步骤完成后,就可以在 php 程序中对 redis 进行读写操作。
<?php
// Redis PHP String(字符串) 实例
//连接本地的 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");
// Redis PHP List(列表) 实例
//存储数据到列表中
$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);
// Redis PHP Keys 实例
// 获取数据并输出
$arList = $redis->keys("*");
echo "Stored keys in redis:: ";
print_r($arList);
?>
数据类型
Redis支持五种数据类型:
- string(字符串)
- hash(哈希)
- list(列表)
- set(集合)
- zset ( sorted set:有序集合)