写一个php+redis操作任何类型的类
时间: 2023-05-18 14:04:16 浏览: 48
好的,以下是一个可以操作任何类型的 Redis 的 PHP 类:
```php
class RedisHelper {
private $redis;
public function __construct($host, $port) {
$this->redis = new Redis();
$this->redis->connect($host, $port);
}
public function set($key, $value) {
if (is_array($value)) {
$value = json_encode($value);
}
$this->redis->set($key, $value);
}
public function get($key) {
$value = $this->redis->get($key);
if ($value !== false && substr($value, 0, 1) == '{') {
$value = json_decode($value, true);
}
return $value;
}
public function delete($key) {
$this->redis->delete($key);
}
}
```
这个类可以操作任何类型的 Redis 数据,包括字符串、数字、数组、对象等等。如果存储的是数组或对象,会自动转换成 JSON 字符串进行存储,取出时也会自动转换回来。使用方法如下:
```php
$redis = new RedisHelper('127.0.0.1', 6379);
$redis->set('name', 'Tom');
echo $redis->get('name'); // 输出 Tom
$redis->set('user', ['name' => 'Tom', 'age' => 18]);
$user = $redis->get('user');
echo $user['name']; // 输出 Tom
$redis->delete('name');
```
希望能对你有所帮助!