Yii2 redis 使用

Posted pfdltutu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 redis 使用相关的知识,希望对你有一定的参考价值。

首先要安装一下redis的扩展

composer require yiisoft/yii2-redis

在配置文件中添加redis配置

‘components‘ => [
....
‘redis‘  => [
            ‘class‘    => ‘yii\redis\Connection‘,
            ‘hostname‘ => yourname,
            ‘password‘ => yourPassword,
            ‘port‘     =>6379,//默认的端口  配置其他端口在这里改
            ‘database‘ => 0,//使用的第几个DB
        ],
‘redis_1‘  => [
            ‘class‘    => ‘yii\redis\Connection‘,
            ‘hostname‘ => yourname,
            ‘password‘ => yourPassword,
            ‘port‘     =>6379,//默认的端口  配置其他端口在这里改
            ‘database‘ => 1,//使用的第几个DB
        ],
....
]

使用方法:

//实例化redis
$redis = Yii::$app->redis_1;//使用哪一个redis  如果使用了redis集群  则不配置redis的其他DB

String:

// 设置一个字符串的值
$redis->set(‘key‘, 111);
//获取一个字符串的值
echo $redis->get(‘key‘); // 111
// 重复set
$redis->set(‘key‘, 222);//222

List:

//列表
//存储数据到列表中
$redis->lpush(‘list‘, ‘js‘);
$redis->lpush(‘list‘, ‘python‘);
$redis->lpush(‘list‘, ‘php);

//获取列表中所有的值
$redis->lrange(‘list‘, 0, -1);

//从右侧加入一个
$redis->rpush(‘list‘, ‘mysql);
$redis->lrange(‘list‘, 0, -1);

//从左侧弹出一个
$redis->lpop(‘list‘);
$redis->lrange(‘list‘, 0, -1);

//从右侧弹出一个
$redis->rpop(‘list‘);
$redis->lrange(‘list‘, 0, -1);

HASH

//给hash表中某个key设置value
//如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0
  $redis->hset(‘hash‘, ‘key‘, ‘key‘);
 //获取hash中某个key的值
  $redis->hget(‘hash‘, ‘key‘);
 //获取hash中所有的keys
  $redis->hkeys(‘hash‘);
 //获取hash中所有的值 顺序是随机的
  $redis->hvals(‘hash‘);
 //获取一个hash中所有的key和value 顺序是随机的
  $redis->hgetall(‘hash‘);
 //获取hash中key的数量
  $redis->hlen(‘hash‘);
 //删除hash中一个key 如果表不存在或key不存在则返回false
  $redis->hdel(‘hash‘, ‘php‘);

Set:无序集合

//在集合key中添加value
$redis->sadd(‘key‘,‘value‘);
//在集合key中移除value
$redis->srem(‘key‘,‘value‘);

 

Sorted Set:有序集合

//在集合key中添加value
$redis->zadd(‘key‘,‘1‘,‘value‘);
//在集合key中移除value
$redis->zrem(‘key‘,‘1‘,‘value‘);

 

注意:集合的值都是会去重的 list不会

 

以上是关于Yii2 redis 使用的主要内容,如果未能解决你的问题,请参考以下文章

yii2 redis使用

yii框架下使用redis

手动安装 yii2-redis 扩展

手动安装 yii2-redis 扩展

Yii2 redis与cache

yii2 redis zunionstore操作问题求助