Php 如何从redis缓存键获取数组值
下面是我的php脚本,我正在从数据库中选择数据,然后使用set命令将resultset数组存储到redis缓存中,但在尝试使用get命令获取数据时无法准确获取数据Php 如何从redis缓存键获取数组值,php,caching,redis,query-cache,Php,Caching,Redis,Query Cache,下面是我的php脚本,我正在从数据库中选择数据,然后使用set命令将resultset数组存储到redis缓存中,但在尝试使用get命令获取数据时无法准确获取数据 <?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); mysql_connect("localhost", "test", "testing123") or die(mysql_error()); mysql_sel
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
mysql_connect("localhost", "test", "testing123") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$query = "select id from example where name = 'new_data'";
$querykey = "KEY" . md5($query);
echo $querykey;
$result = $redis->get($querykey);
echo "<pre>";
print_r($result);
if (!$result) {
$result = mysql_fetch_array(mysql_query("select id from example where name = 'new_data'")) or die('mysql error');
print_r($result);
$redis->set($querykey, $result);
print "got result from mysql\n";
return 0;
}
print "got result from redis\n";
return 0;
?>
据我所知,您必须向Redis set函数传递一个字符串。但是您正在传递一个数组。如果您想在Redis中存储与键对应的结果集,可以对字符串进行json_编码,或者将数组结果作为一个集合存储在Redis中