安装

(如果你已经安装了 Redis 扩展包,可以跳过本安装教程。)

如果没有安装,这里提供两个方法供使用:

  1. 查看 Laravel 5.7中文文档/Redis

  2. 在/home/wwwroot/odin.com/odin/composer.json中require添加"predis/predis": "^1.1"然后执行:

1
composer update

配置

基本使用的可以情况下可用如下配置(/home/wwwroot/odin.com/odin/config/database.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],
],

当然,这里是基础配置,如果在.env中定义了变量,就要在.env中修改配置:

1
2
3
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

当然,更高级的使用,可以继续查看官方文档,这里只提供一个可以快速入门的通路。

使用测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* @Author: leroi * @Date: 2019-01-08 13:51:49 * @Last Modified by: leroi * @Last Modified time: 2019-01-09 17:17:27
*/
namespace App\Http\Controllers\api\lora;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;
class TestController extends Controller
{
public function index()
{
Redis::set('name', 'Leroi');
$name = Redis::get('name');
var_dump($name);
}
}
//结果:string(6) "Leroi"

好了,接下来我们来测试试用一下Predis的基本方法吧!!

常用方法

操作哈希

1
2
3
4
5
6
7
8
9
10
11
12
13
//设置值
Redis::command('hset', ['table1', 'use1', 'token1']);
//redis读取哈希
Redis::command('hget', ['table1', 'use1']);
//检测是否存在key
Redis::command('hexists', ['table1', 'use2']);
//设置时间限制
Redis::expire('table1', 5);
//laravel 发布订阅
Redis::command('publish', ['key', json_encode(['foo' => 'bar'])]);
Redis::subscribe(['test-channel'], function ($message) {
echo $message;
});

操作字符串

1
2
3
4
5
6
7
8
9
10
//设置指定 key 的值
Redis::SET('name', 'Leroi');
//获取指定key的值
$name = Redis::GET('name');
//输出Leroi //返回 key 所储存的字符串值的长度
Redis::STRLEN('name');
//将 key 中储存的数字值增一
Redis::INCR('number');
//将 key 中储存的数字值减一
Redis::DECR('number');

操作列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//将一个值或多个值插入到列表头部(在列表左侧插入)
Redis::LPUSH('testList', 'list_left');
//在列表中添加一个值或多个值(在列表右侧插入)
Redis::RPUSH('testList', 'list_right');
//获取列表长度
Redis::LLEN('testList') //获取列表指定范围内的元素
Redis::LRANGE('testList', 0, -1);
//获取列表全部元素
Redis::LRANGE('testList', 0, 1);
//获取索引值0到1的元素 //移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
Redis::BLPOP('testList', 10);
//如果没有元素, 会阻塞列表10秒钟, BRPOP同此 //通过索引获取列表中的元素(从列表表左侧开始计算, 索引从0开始)
Redis::LPUSH('testList', 1);
Redis::LPUSH('testList', 2);
$two = Redis::LINDEX('testList', 0);
//输出$two为2 //在列表中某一元素前面或者后面插入新的元素
Redis::LPUSH('testList', 1);
Redis::LPUSH('testList', 2);
Redis::LINSERT('testList', 'AFTER', 1, 3);
$list = Redis::LRANGE('testList', 0, -1);
//$list 输出为:2 1 3

当然,这里并不可能将所有方法全部列出来,更多 Redis 命令可以查看Redis 命令手册,这里有更为具体和详细的使用方法。

方法返回值可以查看菜鸟教程


本文早期发布于个人 CSDN 博客:查看原文

站内搜索

没有找到内容!