一、基本步骤 $redis = new Redis(); // 获取redis实例对象。需要安装并打开PHP的redis扩展;有些环境下需要 new \Redis(); 才行 $redis->connect('127.0.0.1', 6379); // 链接redis数据库。 127.0.0.1=数据库地址;6379=默认端口 $redis->auth('mypassword'); // 验证密码。 一般redis在本地服务器,无需设置密码,此步骤可以省略 $redis->select(1); // 选择第几号库。redis默认10个库,编号0到9。此步骤可省略,默认选择第0号库 $redis->set("redis_key", "redis_value"); // 设置(插入)一个类型为字符串的值。redis_key=redis键;redis_value=键对应的值 $data = $redis->get("redis_key"); // 读取一个字符串类型的值。 此处返回:redis_value $redis->close(); // 关闭redis连接 说明:redis的数据存储是键值对的形式存储,所以每个数据都有一个(组)唯一键名。以上是一个简单的基本操作。后续其他数据 类型和操作,只需要根据不同的方法更改 $redis->get() 和 $redis->get() 这个步骤即可,如$redis->lpush() 等等。 二、各个方法使用 方法参考:http://t.zoukankan.com/jkko123-p-10471319.html 三、示例 场景:有多组用户信息需要存储到redis提供成并发程序使用,并且在今天18点之前有效。 其中一组原始数据如: $data = ['userid'=>2324, 'username'=>'tom', 'age'=>23]; 实例代码: /// 要存储的数据 $data = ['userid'=>2324, 'username'=>'tom', 'age'=>23]; // 其中的一组数据 $end_time = strtotime(date('Y-m-d 18:00:00')); // 获取今天18点之前的时间戳 $exp_time = $end_time - time(); // 计算从现在到今天18点有多少秒【作为redis过期时间】 $key = '2324'; // key与userid的值保持一致方便读取。实际业务中可以拿多个数据组合唯一字符串起来作为键 /// 数据存储部分 $redis = new \Redis(); // 获取用户实例 $redis->connect('127.0.0.1', 6379); // 链接redis数据库 $rs = $redis->set($key, json_encode($data, JSON_UNESCAPED_UNICODE)); // 把数据格式化为json字符串类存储到redis中 $re = $redis->expire($key, $exp_time); // 设置 $exp_time 秒后过期 var_dump($rs, $re); /// 数据读取部分 //$redis = new \Redis(); // 获取用户实例 //$redis->connect('127.0.0.1', 6379); // 链接redis数据库 $rg = $redis->get('2324'); // $key的值与set时的key值一致。当过期后或使用del方法删除后,返回false var_dump($rg); /// 数据删除 $rd = $redis->del('2324'); // 通过键删除刚刚存储的值【php7.4不支持该方法,改为了delete方法】 var_dump($rd); 四、写在最后 1、redis的所有操作都具有原子性,数据类型丰富,而且是存在内存里的非关系型数据库,所以效率是非常快的。 所以一般在并发、 数据缓存优化、秒杀库存、频繁访问数据库的等业务场景下使用。 2、脚踏实地实机操作过以上代码后,只需要熟读 上述链接中的各种方法,小白也能快速掌握PHP操作redis的使用
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。