一:使用cache运行Redis
配置config文件下的cache.php文件,在stores中添加Redis
// 缓存连接方式配置
'stores' => [
'file' => [
// 缩短文本此处省略
],
// 更多的缓存连接
// 看这里新增Redis缓存
'redis' => [
// 驱动方式
'type' => 'redis',
// 服务器地址
'host' => '127.0.0.1',
// redis密码:如果没有设置就为空
'password' => '123456',
// 服务器端口
'port' => '6379'
],
],
使用cache运行的连接方式
// 引入类
use think\facade\Cache;
public function index()
{
// 连接redis
$redis = Cache::store('redis');
if ($redis) {
echo 'redis连接成功!';
// 基础存取,更多命令参考下一步
$redis->set('name','admin');
print_r($redis->get('name'));
} else {
echo 'redis连接失败!';
}
}
二:连接Redis后使用基础的存取命令(字符串 || 队列列表 || 散列哈希)
// 查看连接是否正常
$redis->ping();
/*************** 字符串类型 */
// 设置缓存:set('key','value',(可选参数)EX)(EX:过期时间秒)(set同一个key时,新值覆盖旧值)
$redis->set('name', 'admin');
// 获取缓存:get('key')
$redis->get('name');
// 获取所有key
$redis->keys('*');
/*************** 队列列表类型 */
// 将一个或多个值插入到列表头部:lpush(key(表名),value,value,value) (多个值用逗号隔开)
头部:$redis->lpush('lists', 'Redis', 'PHP', 'Java', 'Go');
// 将一个或多个值插入到列表尾部:rpush(key,value,value,value) (多个值用逗号隔开)
尾部:$redis->rpush('lists', 'Js');
// 获取存储的列表数据:lrange('key',0)
/* 0,-1:返回所有值
-1:表示最后一个元素
0: 表示第0个元素
1: 表示第1个元素*/
$redis->lrange('lists', 0, -1);
// 移除并返回列表第1个元素:lpop(key)
$redis->lpop('lists');
// 移除并返回列表最后一个元素:rpop(key)
$redis->rpop('lists');
// 根据 count 的值,移除列表中与参数 value 相等的元素:lrem(key, value, count)
// count > 0:从表头开始向表尾搜索,移除与 value 相等的值,数量为 count
// count < 0:从表尾开始向表头搜索,移除与 value 相等的值,数量为 count
// count = 0:移除表中所有与 value 相等的值
$redis->lrem('lists', 'Redis', 1);
/*************** 散列类型 */
// 为哈希表字段赋值:hset(key(表名),field,value)
$redis->hset('table', 'baidu', 'www.baidu.com');
// 获取哈希表中指定的字段值:hget(key,field)
$redis->hget('table', 'baidu');
// 获取哈希表中所有的健:hkeys(key)
$redis->hkeys('table');
// 获取哈希表中所有的键值对:hgetall(key)
$redis->hgetall('table');
// 获取哈希表中所有的值:hvals(key)
$redis->hvals('table');
// 删除哈希表中指定的值:hdel(key,field)
$redis->hdel('table','baidu');
// 返回哈希表中key的数量:hlen(key)
$redis->hlen('table');
三:Redis缓存数据格式
字符串:
![](https://i-blog.csdnimg.cn/blog_migrate/c034f25b1957cfa59f1d30f599bc6167.png)
队列列表:
![](https://i-blog.csdnimg.cn/blog_migrate/7ac7a4281ab8207e883d63f227b42de9.png)
哈希:
![](https://i-blog.csdnimg.cn/blog_migrate/d824f9f493f2be205c735c41f4a42d94.png)