【Yii2】使用Redis

在 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 中找到完整的操作列表。

相关推荐

  1. Yii2使用Redis

    2024-01-01 05:42:03       54 阅读
  2. yii2 AssetBundle使用

    2024-01-01 05:42:03       28 阅读
  3. Yii2】数据库查询方法总结

    2024-01-01 05:42:03       57 阅读
  4. yii2 mysql重连机制

    2024-01-01 05:42:03       62 阅读
  5. Yii2之类自动加载

    2024-01-01 05:42:03       50 阅读
  6. axios post YII2无法接收post参数问题解决

    2024-01-01 05:42:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-01 05:42:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-01 05:42:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-01 05:42:03       82 阅读
  4. Python语言-面向对象

    2024-01-01 05:42:03       91 阅读

热门阅读

  1. 阿里因侵权京东,赔款金额高达10亿】

    2024-01-01 05:42:03       56 阅读
  2. C++ 返回当前EXE所在的绝对路径和文件夹路径

    2024-01-01 05:42:03       61 阅读
  3. 数据结构常见算法总结

    2024-01-01 05:42:03       49 阅读
  4. 2. SQL - 约束

    2024-01-01 05:42:03       54 阅读
  5. Vagrant使用教程

    2024-01-01 05:42:03       58 阅读
  6. Linux系列之不解压直接查看gzip压缩日志

    2024-01-01 05:42:03       55 阅读
  7. 项目——————————

    2024-01-01 05:42:03       61 阅读
  8. metartc5_jz源码阅读-yang_ipc_rtcrecv_addPeer

    2024-01-01 05:42:03       57 阅读