转载于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
-
'redis' => [
-
'client' => 'predis',
-
'default' => [
-
'host' => env('REDIS_HOST', '127.0.0.1'),
-
'password' => env('REDIS_PASSWORD',null),
-
'port' => env('REDIS_PORT', 6379),
-
'database' => 0,
-
],
-
],
这个自己测试玩的时候不需要改动,另外一个地方就是.env文件
-
REDIS_HOST=127.0.0.1
-
REDIS_PASSWORD=null
-
REDIS_PORT=6379
这些是相关信息,其实你都不需要改动。在这我们先不说redis集群的问题,先说单个redis的使用。
测试
首先需要一个路由:
-
//redis测试
-
Route::get('testRedis','RedisController@testRedis')->name('testRedis');
利用artisan命令创建一个控制器
php artisan make:controller RedisController
然后我们在该控制器中引入对应的类和创建一个方法。
因为我们通过composer安装后,laravel框架已经帮我们将redis在app.php配置文件中进行了注册和门面支持,所以直接使用即可。(Member类是我自己测试的数据表模型,无需理会)
-
<?php
-
namespace App\Http\Controllers;
-
use Illuminate\Http\Request;
-
use App\Models\Member;
-
use Illuminate\Support\Facades\Redis;
-
class RedisController extends Controller
-
{
-
public function testRedis()
-
{
-
Redis::set('name', 'guwenjie');
-
$values = Redis::get('name');
-
dd($values);
-
//输出:"guwenjie"
-
//加一个小例子比如网站首页某个人员或者某条新闻日访问量特别高,可以存储进redis,减轻内存压力
-
$userinfo = Member::find(1200);
-
Redis::set('user_key',$userinfo);
-
if(Redis::exists('user_key')){
-
$values = Redis::get('user_key');
-
}else{
-
$values = Member::find(1200);//此处为了测试你可以将id=1200改为另一个id
-
}
-
dump($values);
-
}
-
}
错误问题
在你做完以上操作运行的时候,也许会报这个错误:
-
(1/1) ConnectionException
-
����Ŀ����������ܾ��������ӡ� [tcp://127.0.0.1:6379]
-
in AbstractConnection.php (line 155)
-
at AbstractConnection->onConnectionError('����Ŀ����������ܾ��������ӡ�', 10061)
-
in StreamConnection.php (line 128)
-
....
其实这个问题不算问题,但是可能很多人刚用的时候会踩坑。
这是因为你的服务器上没有安装和启动redis服务,就像mysql一样,使用的前提是安装并且成功启动了。