快速使用 Redis 缓存以及 lv5 中的 Redis 缓存

记录下redis的学习使用,方便以后换了平台之后查询,已经分享下使用过程

首先,PHP安装redis扩展,百度谷歌的好多解决方案已经老了,这里详细记录下windows的安装过程,因为linux下编译安装拓展是很方便的。

file

看下自己php版本信息里面的这几个环境参数,拓展分好多不同版本编译的,但是寻找自己对应的拓展下载

下载好这两个拓展之后把两个 .dll 复制到 .../php/ext 目录下,然后讲拓展添加到 php.ini中

;php_redis
extension=php_igbinary.dll
extension=php_redis.dll

重启apache就能在php_info中看到redis的拓展信息了

接着安装 redis,windows就去github上下载编译好的redis包吧,地址,解压随便放在一个目录下就可以启动redis服务了,在目录下运行

redis-server.exe redis.conf

这时候任务管理器中就能看到 redis-server.exe启动了,接着测试下我们是否成功安装,继续执行

redis-cli

启动redis命令行客户端(或许不叫这个名称,不清楚)

file

这里只是测试,redis的更多数据结构和操作查看文档

下面就可以去我们的laravel中使用redis缓存了,安装 predis/redis

"predis/predis": "*"

接下来修改我们的配置文件 chche.php

'default' => 'redis'

redis的一些配置在database.php在中可以看到

    'redis' => [

    'cluster' => false,

    'default' => [
        'host'     => '127.0.0.1',
        'port'     => 6379,
        'database' => 0,
    ],

        ],

这里使用默认的就可以了,接着去测试一下使用情况

Route::get('test', function(){
  if (\Cache::has('test')) {
    echo '存在chche,读取'.'<br />';
    echo \Cache::get('test');
  } else{
    echo '不存在cache,现在创建'.'<br />';
    $time = \Carbon\Carbon::now()->addMinutes(10);
    $redis = \Cache::add('test', '我是缓存资源', $time);
    echo \Cache::get('test');
  }

第一次进去test地址,会看到

不存在cache,现在创建
我是缓存资源

这时候可以去我们的客户端中查询下当前redis使用情况

redis 127.0.0.1:6379> keys *
1) "laravel:test"
redis 127.0.0.1:6379> ttl laravel:test
(integer) 590
redis 127.0.0.1:6379> ttl laravel:test
(integer) 586

你也可以使用其他缓存方法,laravel文档中也有详细说明

这里只是演示了下,有点注意的地方,laravel在使用redis储存缓存时貌似会序列化value值,所以你的静态资源缓冲时需要注意,至于怎么写最好,还请社区高人指点下。

想想,使用redis减轻数据库的压力,还可以做很多有趣的事情!

本帖已被设为精华帖!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 18

我居然在灵犀看到你的照片:laughing:

7年前 评论

@mantou 入职快一年了,怎么,你要来吗?

7年前 评论

@qq215672398 感觉你团队挺好的,等我辞职了可以聊聊:wink:

7年前 评论

@mantou 个人资料有二维码

7年前 评论
sushengbuhuo

predis 不需要按照 Redis扩展

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!