石家庄门户网站制作,网站制作者,东莞网站建设哪个平台好,lens wordpress一 运行redis服务端 出现上图的图形,就说明redis服务端开启成功,并且开启了密码功能(如果不加载配置文件,连接redis是不需要密码的,这样,会给我们的程序带来很大隐患)
密码的设置: 在redis配置文件中,搜索requirepass ,后面设置密码 比如 : requirepass G506myredis
则表示此…一 运行redis服务端 出现上图的图形,就说明redis服务端开启成功,并且开启了密码功能(如果不加载配置文件,连接redis是不需要密码的,这样,会给我们的程序带来很大隐患)
密码的设置: 在redis配置文件中,搜索requirepass ,后面设置密码 比如 : requirepass G506myredis
则表示此redis服务端密码是G506myredis 二 在php文件中操作redis
1. 查询
根据sql语句到redis数据库中查询是否有相应的数据,如果有,则直接返回数据,如果没有,则到数据库查询数据返回给浏览器,并且将数据缓存到redis服务器
代码:
function inquiry_redis($sql)
{//实例化redis对象$redis new Redis();//连接redis$redis-connect(localhost,6379);//分配下面的任务密码权限$redis-auth(G506myredis);$key md5($sql);$data $redis-get($key);//如果有data,此时应该是一个json字符串if(!$data){try{$pdo new PDO(mysql:dbnametest;hostlocalhost,root,root);}catch(PDOException $e){die(pdo连接失败:.$e-getMessage());}$stmt $pdo-prepare($sql);$stmt-execute();$data json_encode($stmt-fetchAll(2));//将从数据库取到的数据转化为json字符串(为了存储到redis中)$redis-set($key,$data);}return json_decode($data);//返回数组格式的数据}$sql select id,name,edu,city,salary from student;
var_dump(inquiry_redis($sql)); 结果: array (size39)0 object(stdClass)[2]public id 1 (length1)public name 周更生 (length9)public edu 大专 (length6)public city 山东省 (length9)public salary 5000.00 (length7)1 object(stdClass)[3]public id 2 (length1)public name 王小平 (length9)public edu 大专 (length6)public city 陕西省 (length9)public salary 500.00 (length6)2 object(stdClass)[4]public id 3 (length1)public name 周改娟 (length9)public edu 大专 (length6)public city 上海市 (length9)public salary 8000.00 (length7)3 object(stdClass)[5]public id 4 (length1)public name 高舸 (length6)public edu 高中 (length6)public city 山西省 (length9) (size39)0 object(stdClass)[2]public id 1 (length1)public name 周更生 (length9)public edu 大专 (length6)public city 山东省 (length9)public salary 5000.00 (length7)1 object(stdClass)[3]public id 2 (length1)public name 王小平 (length9)public edu 大专 (length6)public city 陕西省 (length9)public salary 500.00 (length6)2 object(stdClass)[4]public id 3 (length1)public name 周改娟 (length9)public edu 大专 (length6)public city 上海市 (length9)public salary 8000.00 (length7)3 object(stdClass)[5]public id 4 (length1)public name 高舸 (length6)public edu 高中 (length6)public city 山西省 (length9)
第一次,从数据库取数据,将结果返回给浏览器,并将数据缓存到redis中 第二次,直接从redis中取数据,返回该浏览器 2. 删除
传进来一个sql,我们根据sql删除redis库中对应的key的数据
function delete_redis($sql)
{//实例化redis对象$redis new Redis();//连接redis$redis-connect(localhost,6379);//分配下面的任务密码权限$redis-auth(G506myredis);$key md5($sql);//删除对应的缓存的sql数据$redis-del($key);}ps: 期待在这方面有丰富项目经验的phper提出更多的优化意见,谢谢