使用 Redis 缓存可以大大降低 Web 应用系统访问数据库的压力,提高系统的性能。Redis是一种非关系型数据库,内存数据库, 速度非常快。
1. 简介
Redis(Remote Dictionary Server)是一个由 Salvatore Sanfilippo 写的开源、基于 BSD 协议发布的 key-value 存储系统。
Redis 支持多种类型数据。如下表所示:
| 数据类型 | 存储的值 |
| -------- | -------------------------------------------------------------------------- |
| String | 可以是字符串、整数或浮点数 |
| Hash | 类似于由 field 和 value 组成的 map。 |
| List | 按照插入顺序排序的字符串列表。 |
| Set | 无序的字符串集合。 |
| Sorted Set | 有序的字符串集合。 |
官网:http://redis.io/
2. 安装
想要在项目中使用 redis,需要先安装 redis 扩展和 redis 服务。
Linux 环境下安装 redis 扩展
使用 pecl 安装 redis 扩展(pecl 是 PHP 的一个扩展库管理工具)
```bash
pecl install redis
```
安装后,可以在 `/etc/php.d/` 目录下找到 `redis.ini` 文件,表示 redis 扩展安装成功。
Linux 环境下安装 Redis 服务
使用 yum 安装
```bash
yum install redis
```
运行 Redis
```
service redis start
```
3. 在 ThinkPHP 中使用 Redis 缓存
在 ThinkPHP 中使用 Redis 缓存,只需要修改 `application/config. php` 配置文件即可:
```php
return [
// Redis 配置
'cache' => [
'type' => 'redis',
'host' => '127.0.0.1',
'port' => 6379,
'expire' => 60,
],
];
```
3.1. 配置项说明
- type:指定缓存类型为 Redis。
- host:Redis 服务器地址。
- port:Redis 服务器端口。
- expire:缓存有效期(默认时长为60秒)。
3.2. 使用 Redis 缓存
使用 Redis 缓存的方式和使用其他类型的缓存方式相似,都是在 Cache 类的对象上进行操作。
```php
// 缓存一个字符串
Cache::store('redis')->set('key', 'value');
// 获取一个字符串
$value = Cache::store('redis')->get('key');
echo $value; // 输出:value
```
使用 Redis 缓存时,可通过 Cache 类的 `store` 方法指定缓存类型。
4. 总结
Redis 是一种非关系型数据库,内存数据库,速度非常快。在 Linux 环境下,可以使用 pecl 和 yum 命令安装 Redis 扩展和 Redis 服务。
在 ThinkPHP 中使用 Redis 缓存,只需要在 `application/config.php` 配置文件中指定缓存类型为 Redis,就可以像使用其他类型缓存一样使用 Redis 缓存。