php 操作redis 以及几个常用命令

时间:2021-10-13 19:41:50
redis-cli -h host -p port -a password 首次进入redis 进行绑定ip和端口号  
del key 删除指定key  
exists key 检查指定key是否存在 1存在 0不存在
expire key seconds 为key 设置过期时间 时间到后 自动删除指定key
persist key 移除指定key的过期时间  
pttl key 以毫秒返回所剩过期时间  
ttl key 以秒返回所剩过期时间  
rename key newkey 修改key的名称  
type key 返回 key的存储类型  
     
LPUSH names value [valus...] 将多个值 插入 names的列表的头部 RPUSH
LINDEX names 1 通过索引获取列表中的元素  
LLEN names 获取names列表的长度  
LPOP names 移出并获取列表的第一个元素 RPOP
LSET names[key] 0[index] ppp[value] 通过索引设置列表元素的值  
LTRIM names start stop 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。  
RPOP names 移除列表的最后一个元素,返回值为移除的元素。 LPOP
KEYS names 获取所有key (当前库中)  
LRANGE names 0 -1 获取 list 列表中指定key的所有元素  
     ......
     
     
     
     
     

实例操作:

function SetRedis($pwd)
{ //实例化redis对象
$redis = new Redis(); //连接redis
$redis->connect('localhost',6379);
$key = md5($pwd);
$data = $redis->get($key);//如果data有值,此时应该是一个json字符串
if(!$data){
try{
$pdo = new PDO('mysql:dbname=test;host=localhost','root','root');
}catch(PDOException $e){
die("pdo连接失败:".$e->getMessage());
} $res = $pdo->prepare($sql);
$res->execute();
$data = json_encode($res->fetchAll(2));//将从数据库取到的数据转化为json字符串(为了存储到redis中)
$redis->set($key,$data);
}
return json_decode($data);//返回数组格式的数据 } $pwd = md5('abc123');
var_dump(SetRedis($sql));