首先要安装一下redis的扩展
composer require yiisoft/yii2-redis
在配置文件中添加redis配置
'components' => [ .... 'redis' => [ 'class' => 'yii edisConnection', 'hostname' => yourname, 'password' => yourPassword, 'port' =>6379,//默认的端口 配置其他端口在这里改 'database' => 0,//使用的第几个DB ], 'redis_1' => [ 'class' => 'yii edisConnection', '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不会