windows下Redis安装和laravel下使用

转载于https://blog.csdn.net/u010137839/article/details/80210328

一、下载windows版本的Redis

去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网以及没有下载地址,只能在github上下载,官网只提供linux版本的下载

官网下载地址:http://redis.io/download

github下载地址:https://github.com/MSOpenTech/redis/tags

二、安装Redis

1.这里下载的是Redis-x64-3.2.100版本,我的电脑是win7 64位,所以下载64位版本的,在运行中输入cmd,然后把目录指向解压的Redis目录。

2、启动命令

redis-server redis.windows.conf,出现下图显示表示启动成功了。

三、设置Redis服务

1、由于上面虽然启动了redis,但是只要一关闭cmd窗口,redis就会消失。所以要把redis设置成windows下的服务。

也就是设置到这里,首先发现是没用这个Redis服务的。

2、设置服务命令

redis-server --service-install redis.windows-service.conf --loglevel verbose

输入命令之后没有报错,表示成功了,刷新服务,会看到多了一个redis服务。

3、常用的redis服务命令。

卸载服务:redis-server --service-uninstall

开启服务:redis-server --service-start

停止服务:redis-server --service-stop

4、启动服务

5、测试Redis

安装测试成功。

二:laravel使用:

安装

laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包:

composer require predis/predis
  • 1

配置

redis的配置文件是:config/database.php

 
  1. 'redis' => [

  2.  
  3. 'client' => 'predis',

  4.  
  5. 'default' => [

  6. 'host' => env('REDIS_HOST', '127.0.0.1'),

  7. 'password' => env('REDIS_PASSWORD',null),

  8. 'port' => env('REDIS_PORT', 6379),

  9. 'database' => 0,

  10. ],

  11.  
  12. ],

这个自己测试玩的时候不需要改动,另外一个地方就是.env文件

  1. REDIS_HOST=127.0.0.1

  2. REDIS_PASSWORD=null

  3. REDIS_PORT=6379

这些是相关信息,其实你都不需要改动。在这我们先不说redis集群的问题,先说单个redis的使用。

测试

首先需要一个路由:

  1. //redis测试

  2. Route::get('testRedis','RedisController@testRedis')->name('testRedis');

利用artisan命令创建一个控制器

php artisan make:controller RedisController

然后我们在该控制器中引入对应的类和创建一个方法。 
因为我们通过composer安装后,laravel框架已经帮我们将redis在app.php配置文件中进行了注册和门面支持,所以直接使用即可。(Member类是我自己测试的数据表模型,无需理会)

  1. <?php

  2.  
  3. namespace App\Http\Controllers;

  4.  
  5. use Illuminate\Http\Request;

  6. use App\Models\Member;

  7. use Illuminate\Support\Facades\Redis;

  8.  
  9. class RedisController extends Controller

  10. {

  11. public function testRedis()

  12. {

  13. Redis::set('name', 'guwenjie');

  14. $values = Redis::get('name');

  15. dd($values);

  16. //输出:"guwenjie"

  17. //加一个小例子比如网站首页某个人员或者某条新闻日访问量特别高,可以存储进redis,减轻内存压力

  18. $userinfo = Member::find(1200);

  19. Redis::set('user_key',$userinfo);

  20. if(Redis::exists('user_key')){

  21. $values = Redis::get('user_key');

  22. }else{

  23. $values = Member::find(1200);//此处为了测试你可以将id=1200改为另一个id

  24. }

  25. dump($values);

  26. }

  27. }

错误问题

在你做完以上操作运行的时候,也许会报这个错误:

  1. (1/1) ConnectionException

  2. ����Ŀ����������ܾ����޷����ӡ� [tcp://127.0.0.1:6379]

  3. in AbstractConnection.php (line 155)

  4. at AbstractConnection->onConnectionError('����Ŀ����������ܾ����޷����ӡ�', 10061)

  5. in StreamConnection.php (line 128)

  6. ....

其实这个问题不算问题,但是可能很多人刚用的时候会踩坑。 
这是因为你的服务器上没有安装和启动redis服务,就像mysql一样,使用的前提是安装并且成功启动了。

猜你喜欢

转载自blog.csdn.net/aichojie/article/details/81068015