redis+php可以保存html文本的set与get
时间: 2023-05-28 14:03:38 浏览: 59
是的,Redis的PHP扩展提供了set和get方法来保存和获取HTML文本。可以使用以下代码:
// 连接到Redis服务器
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 保存HTML文本
$html = '<html><body><h1>Hello World!</h1></body></html>';
$redis->set('html_content', $html);
// 获取HTML文本
$html_content = $redis->get('html_content');
echo $html_content;
注意,保存HTML文本时需要将它作为字符串传递给set方法。在获取HTML文本后,可以将其直接输出到浏览器中。
相关问题
php+redis封装一个可以保存数组+html的类
以下是一个简单的 PHP Redis 类,可以用来保存数组和 HTML 数据:
```php
class RedisHelper {
private $redis;
public function __construct($host = '127.0.0.1', $port = 6379) {
$this->redis = new Redis();
$this->redis->connect($host, $port);
}
public function set($key, $value) {
if (is_array($value)) {
$value = json_encode($value);
}
return $this->redis->set($key, $value);
}
public function get($key) {
$value = $this->redis->get($key);
if ($value && strpos($value, '{') === 0) {
$value = json_decode($value, true);
}
return $value;
}
public function setHtml($key, $html) {
return $this->set($key, base64_encode($html));
}
public function getHtml($key) {
$value = $this->get($key);
if ($value) {
$value = base64_decode($value);
}
return $value;
}
}
```
使用示例:
```php
$redis = new RedisHelper();
// 保存数组数据
$data = array('name' => 'John', 'age' => 30);
$redis->set('user:1', $data);
$user = $redis->get('user:1');
echo $user['name']; // 输出 John
// 保存 HTML 数据
$html = '<h1>Hello World</h1>';
$redis->setHtml('page:1', $html);
$page = $redis->getHtml('page:1');
echo $page; // 输出 <h1>Hello World</h1>
```
本示例中,我们使用了 PHP 内置的 `json_encode()` 和 `json_decode()` 函数将数组转换为字符串,并在保存到 Redis 中时进行判断和处理。对于 HTML 数据,我们使用了 base64 编码来避免 Redis 的字符串格式限制。
写一个php+redis操作数组的get set方法
可以使用以下代码实现:
// 获取 Redis 中的数组
function redisGetArray($redis, $key) {
$data = $redis->get($key);
return json_decode($data, true);
}
// 设置 Redis 中的数组
function redisSetArray($redis, $key, $array) {
$data = json_encode($array);
$redis->set($key, $data);
}
// 使用示例
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 设置数组
$array = array('name' => '张三', 'age' => 18);
redisSetArray($redis, 'my_array', $array);
// 获取数组
$array = redisGetArray($redis, 'my_array');
echo $array['name']; // 输出:张三