【Yii2】使用Redis

2023-12-30 16:41:38

在 Yii2 中使用 Redis 非常简单。首先,确保您已经安装了 Redis 扩展,并在 common/config/main-local.php 文件中配置了 Redis 组件:

return [
    // ...
    'components' => [
        // ...
        'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
        // ...
    ],
    // ...
];

然后,您可以在 Yii2 应用程序中使用 Redis 来存储和检索数据。

一下是两种连接方式:

1.Redis::getRedisInstance()->getRedisConn();

这种方法来自?common\components\Redis?类。它是一个自定义的 Redis 组件,通常在?common\config\main-local.php?文件中配置。这个组件提供了一些额外的功能,例如自动重连、记录日志等。使用这种方法获取 Redis 缓存连接实例时,您将获得一个封装了 Redis 连接的对象,该对象提供了一些额外的方法,例如?getRedisConn()。?

//使用助手函数
use common\helpers\Redis;

Redis::getRedisInstance()->getRedisConn();

2.Yii::$app->redis;

这种方法是通过 Yii2 的依赖注入容器获取 Redis 缓存组件的实例。默认情况下,Yii2 不包含自定义的 Redis 组件,因此您需要在?common\config\main-local.php?文件中手动配置 Redis 组件。使用这种方法获取 Redis 缓存连接实例时,您将直接获得 Redis 连接对象,而不是封装了 Redis 连接的对象。

use Yii;

$redis = Yii::$app->redis;

总之,Redis::getRedisInstance()->getRedisConn();Yii::$app->redis; 都可以用于获取 Redis 缓存连接实例,但它们分别使用自定义的 Redis 组件和 Yii2 的依赖注入容器。如果您需要使用自定义的 Redis 组件提供的额外功能,可以使用 Redis::getRedisInstance()->getRedisConn();。否则,您可以使用 Yii::$app->redis;

3.以下是一些常见的 Redis 操作示例:


use Yii;

$redis = Yii::$app->redis;


// 1.将值存储到 Redis 缓存:
$redis->set('key', 'value');

// 2.从 Redis 缓存中获取值:
$value = $redis->get('key');

// 3.将值存储到 Redis 缓存的哈希集中:
$redis->hset('hash', 'field', 'value');

// 4.从 Redis 缓存的哈希集中获取值:
$value = $redis->hget('hash', 'field');

// 5.将值添加到 Redis 缓存的列表中:
$redis->lpush('list', 'value');

// 6. 从 Redis 缓存的列表中获取值:
$value = $redis->rpop('list');

// 7.将值添加到 Redis 缓存的集合中:
$redis->sadd('set', 'value');

// 8.检查 Redis 缓存的集合中是否存在某个值:
$exists = $redis->sismember('set', 'value');

这些示例仅涵盖了 Redis 缓存组件的基本操作。实际上,Yii2 的 Redis 缓存组件支持 Redis 的大多数操作,您可以在 https://www.yiiframework.com/extension/yiisoft/yii2-redis 中找到完整的操作列表。

文章来源:https://blog.csdn.net/q8688/article/details/135306250
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。