文章目录
配置
redis使用
string(字符串)
Hash(哈希)
List(列表)
Set(集合)
zset(有序集合)
前提:因为本文主要围绕着在thinkPHP5中使用redis的,所以关于redis的安装就不特意说明了,不过在这稍微提醒一下,安装完redis后务必要开启php.ini扩展,否则还是无法使用redis的。
配置
会用ThinkPHP5的同学们都知道,TinkPHP5中封装了缓存类,我们只需要在/application/congfig.php中的cache中填入缓存配置项就可以使用了(如下所示)。
从/thinkphp/library/think/cache/driver/Redis.php文件可知这里封装的redis缓存只能使用redis的string基本类型,如果要使用哈希或队列等复合数据类型的话是不行的。看缓存类/thinkphp/library/think/cache/Driver.php会发现handler方法会返回句柄,所以我们只要在我们使用redis的地方获得这个句柄就可以使用redis的所有数据类型了,因此可以在/thinkphp/library/think/Cache.php中添加获取句柄方法getHandler
/**
* 返回句柄对象,可执行其它高级方法
*
* @access public
* @return object
*/
public function handler()
{
return $this->handler;
}
1
2
3
4
5
6
7
8
9
10
/*
* 获取句柄
* @param
*/
public static function getHandler()
{
return self::init();
}
1
2
3
4
5
6
7
8
redis使用
string(字符串)
基本的类型,一个 key 对应一个 value。一个string 类型的值最大能存储 512MB
图解:
// 创建数据
$redis->set('key', 'value');
// 获取数据
$value = $redis->get('key');
echo $value . PHP_EOL;
// 修改数据,与创建数据一致,即覆盖数据
$redis->set('key', 'value2');
echo $redis->get('key') . PHP_EOL;
// 追加数据
$redis->append('key', '_value2');
echo $redis->get('key') . PHP_EOL;
// 删除数据
$redis->del('key');
// $redis->delete('key');
var_dump($redis->get('key'));
// 创建数据