Yii2-redis

安装:composer require --prefer-dist yiisoft/yii2-redis
redis 版本 >= 2.6.12

添加配置:

‘components‘ => [
        ‘redis‘ => [
            ‘class‘ => ‘yii\redis\Connection‘,
            ‘hostname‘ => ‘localhost‘,
            ‘port‘ => 6379,
            ‘database‘ => 0,
        ],
 ]

# ActiveRecord

继承自  \yii\redis\ActiveRecord  且必须实现 attributes() 方法

static active 方法 用来指定 查询条件

用法与自带的 ActiveRecord 相似 有以下不同

1、不支持SQL查询API  where() limit() offset() orderBy() indexBy()    (orderBy()暂未实现)

2、不能通过表来定义关系 redis中没有表

使用示例

class Customer extends \yii\redis\ActiveRecord
{
    /**
     * @return array the list of attributes for this record
     */
    public function attributes()
    {
        return [‘id‘, ‘name‘, ‘address‘, ‘registration_date‘];
    }

    /**
     * @return ActiveQuery defines a relation to the Order record (can be in other database, e.g. elasticsearch or sql)
     */
    public function getOrders()
    {
        return $this->hasMany(Order::className(), [‘customer_id‘ => ‘id‘]);
    }

    /**
     * Defines a scope that modifies the `$query` to return only active(status = 1) customers
     */
    public static function active($query)
    {
        $query->andWhere([‘status‘ => 1]);
    }
}

$customer = new Customer();
$customer->attributes = [‘name‘ => ‘test‘];
$customer->save();
echo $customer->id; // id will automatically be incremented if not set explicitly

$customer = Customer::find()->where([‘name‘ => ‘test‘])->one(); // find by query
$customer = Customer::find()->active()->all(); // find all by query (using the `active` scope)

# 使用命令

$redis = Yii::$app->redis;
$result = $redis->executeCommand(‘hmset‘, [‘test_collection‘, ‘key1‘, ‘val1‘, ‘key2‘, ‘val2‘]); //通用用法
$result = $redis->hmset(‘test_collection‘, ‘key1‘, ‘val1‘, ‘key2‘, ‘val2‘);//方法用法

可用命令及参数 参考 http://redis.io/commands.

#缓存组件

配置

‘components‘ => [
        // ...
        ‘cache‘ => [
            ‘class‘ => ‘yii\redis\Cache‘,
            ‘redis‘ => [    // 如果只用作缓存  需要配置此项
                ‘hostname‘ => ‘localhost‘,
                ‘port‘ => 6379,
                ‘database‘ => 0,
            ],
        ],
    ]

# SESSION

配置

‘components‘ => [
        // ...
        ‘session‘ => [
            ‘class‘ => ‘yii\redis\Session‘,
            ‘redis‘ => [ //如果只用作 session 需要配置
                ‘hostname‘ => ‘localhost‘,
                ‘port‘ => 6379,
                ‘database‘ => 0,
            ],
        ],
    ]
时间: 2024-11-05 21:43:51

Yii2-redis的相关文章

yii2 redis使用

$redis = Yii::$app->redis;$keys = 'dll_mb_examine';//定义键名$list = $redis->get($keys);//取key值if(empty($list)){    $data=Examine::getMobileExamine($userInfo['userId']);    if(empty($data)){        return $this->redirect(['/frontend/default/nomsg','m

Yii2 redis与cache

原文地址:http://www.myexception.cn/php/1974979.html composer require yiisoft/yii2-redis 安装后使用超简单,打开 common/config/main.php 文件,修改如下. 'cache' => [ // 'class' => 'yii\caching\FileCache', 'class' => 'yii\redis\Cache', ], 'redis' => [ 'class' => 'yi

Yii2 redis 使用

首先要安装一下redis的扩展 composer require yiisoft/yii2-redis 在配置文件中添加redis配置 'components' => [ .... 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => yourname, 'password' => yourPassword, 'port' =>6379,//默认的端口 配置其他端口在这里改 'database' =&

YII2 搭建redis拓展(教程)

安装redis扩展: 1.通过composer进行安装,到项目根目录cmd运行(推荐) php composer.phar require --prefer-dist yiisoft/yii2-redis 或者添加 "yiisoft/yii2-redis": "~2.0.0" 到对应项目的composer.json文件中 2.手动安装 点击下载:yii2.0-redis扩展 把下载的扩展文件放到vendor/yiisoft/下,命名为yii2-redis 修改ven

Yii2 运用 redis 服务

//首先在common/config/main.php 里components里加入如下代码 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], //然后下载yii2-redis的扩展类库 地址:http://pan.baidu.com/s/1bpengNt //下载完成之后 把yii2-redis文件夹放到

yii2.0 手动配置redis

手动安装yii2.0-redis扩展 1.点击下载:yii2.0-redis扩展 2.把下载的扩展文件放到vendor/yiisoft/下,命名为yii2-redis 3.修改vender/yiisoft/下的extensions.php,加入redis扩展 1 2 3 4 5 6 7 8 9 10 11 12 13 14 'yiisoft/yii2-redis' =>     array (         'name' => 'yiisoft/yii2-redis',         'v

Yii2 的 redis 应用

在应用的时候需要先对yii2进行扩展安装 如果装有composer直接运行 php composer.phar require --prefer-dist yiisoft/yii2-redis 当然也可以本地安装 下载yii2-redis扩展包(https://github.com/yiisoft/yii2-redis )并解压 将解压后的文件移至vebdor/yiisoft命名为yii2-redis 打开vebdor/yiisoft下的extensions.php 添加如下代码 'yiisof

秒杀思路: yii2加Redis实现秒杀

整理一些思路 PHP7, yii2加Redis怎么实现秒杀 一个list列表存放秒杀的商品 一个list列表存放秒杀的客户信息 首先读取秒杀商品到商品列表, 然后等待客户秒杀. 每次客户请求, 检查用户列表与商品数量是否大于等于. 如果是就提示已经抢完.下次再来. (这里可以选择方案 是用户下单就减少还是付款再减少) 检查商品的剩余数量是否大于0, 是就减一,并加入客户到列表里面. 否就提示已经抢完.下次再来. (这里可以选择方案 是用户下单就减少还是付款再减少) 每次客户请求, 加入客户到列表

php之yii2简单redis锁限制

yii2框架简单加锁锁定本次任务没执行完之前不允许再请求本次方法,注意这只是简单实现能应对几乎所有并发场景,但是对并发有绝对要求的还是要用队列加异步处理去实现. $key='redis_key_name:'.'订单id或其他本次锁的唯一值'; //判断不是空直接中断本次操作 if(!empty(Yii::$app->redis->get($key))){ //随便你们return或其他友好输出,下面的输出只是个人示例 throw new Exception(-10007, "红包领取

Yii2.0 手动添加扩展 redis为例

手动下载yii2-redis扩展包(https://github.com/yiisoft/yii2-redis )并解压 将解压后的文件移至/vebdor/yiisoft命名为yii2-redis 打开/vebdor/yiisoft下的extensions.php 添加如下代码 'yiisoft/yii2-redis' => array ( 'name' => 'yiisoft/yii2-redis', 'version' => '2.0.5.0', 'alias' => arra