redis在项目中的应用 ps:PHP 会自动 关redis连接 不需要手动关 对于临时的数据 可以不经过数据库直接redis上操作
/*消息队列实例 消息队列详细步骤在http://newmiracle.cn/?p=227*/
public function insertinfo(){
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
//存储数据到列表中
$infos = array('info1' => 66, 'info2' => 88);
$redis->lpush($key, json_encode($infos));
// 获取存储的数据并输出
$arList = $redis->lrange("tutorial-list", 0, 30);
print_r($arList);
exit();
}
/*读取实例*/
//$key一般写数据库名字 leftjoin的话取第一个数据库
function getinfos($sql,$key)
{
$md5key=md5($sql);
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// 获取存储的数据
//用与left join
if(is_array($key)){
foreach ($key as $k=>$v){
$result = $redis->get($key);
$result=json_decode($result,'true');
if(empty($result)){
$result=0;
}
}
if(!$result){
$result = $redis->get($key[0]);
$result=json_decode($result,'true');
}
//用户普通sql语句
}else{
$result = $redis->get($key);
$result=json_decode($result,'true');
}
if (empty($result)) {
$VModel = new HuanShanVoteModel();
$result = $VModel->query($sql);
$list[$md5key]=$result;
$redis->set($key,json_encode($list));
return $result;
}else{
$list=$result[$md5key];
return $list;
}
}
/*更新实例*/
public function updateinfo(){
//运行sql语句
$sql="update mobantestinfo set info1=1 where id=40";
$VModel = new HuanShanVoteModel();
$isOk = $VModel->execute($sql);
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
/*删除key*/
$redis->del('tutoriallist');
}
/*删除实例*/
public function deleteinfo(){
//运行sql语句
$sql="delete from mobantestinfo where id=40";
$VModel = new HuanShanVoteModel();
$isOk = $VModel->execute($sql);
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis->del('tutoriallist');
}
function insertinfos($key, $sql)
{
//运行sql语句
$VModel = new HuanShanVoteModel();
$isOk = $VModel->execute($sql);
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis->del($key);
return $isOk;
}