laravel redis使用

14 篇文章 0 订阅
9 篇文章 0 订阅

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

composer require predis/predis

2.配置 


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

use Illuminate\Support\Facades\Redis;//redis是门面类中的类文件

3.控制器中代码

<?php
namespace app\Http\Controllers;
use App\Http\Controllers\Controller;
//使用redis之前需要引入我们的redis类   
use Illuminate\Support\Facades\Redis;
class Redis1Controller extends Controller
{
	public function test()
	{
		//使用字符串操作  
		//set存数据 创建一个key并设置value
		Redis::set('names','abcd');
		//setex存数据 创建一个key并设置value和失效时间
		Redis::setex("names",5,'abcdefg');
		//get命令用于获取指定key的值 如果key不存在,返回null
		//如果key存储的值不是字符串类型会返回一个错误
		var_dump(Redis::get('names'));
		//3.del删除  成功删除 返回1 失败返回0
		var_dump(Redis::del('names')); 
		//mset存储多个key对应的value
		$arr = array(
			'name'=>'marry',
			'age'=>18,
			'address'=>'中国北京',
		);
		Redis::mset($arr);
		var_dump(Redis::mget(array_keys($arr)));
		
		//获取缓存时间    
		var_dump(Redis::ttl('names'));//输出结果 5
		
		//strlen 获取指定key储存的字符串值的长度  
		var_dump(Redis::strlen("names"));
		var_dump(Redis::exists('names'));//返回1表示是key存在的,返回0表示key是不存在的 
		
		//redis中字符串截取  第一到第三位字符
		echo Redis::substr("names",0,2);//输出结果是 abc
		// 根据键名模糊搜索  
		var_dump(Redis::keys('a*'));//模糊查询出所有下标中a开头
		// 输出结果:array(2) { [0]=> string(7) "address" [1]=> string(3) "age" }
		
		//队列操作
		//rpush/rpushx有序列表操作,从队列后插入元素;lpush/lpushx和rpush/rpushx的区别
		//是插入到队列的头部,同上,'x'含义是只对已存在的key进行操作
		var_dump(Redis::rpush('fooList', 'bar1')); // 返回列表长度 1
		var_dump(Redis::lpush('fooList', 'bar2')); // 返回列表长度 2
		var_dump(Redis::rpushx('fooList', 'bar3')); // 返回 3, rpushx只对已存在的队列做添加,否则返回 0
		var_dump(Redis::llen('fooList'));
		
		//lrange 返回队列中一个区间的元素
		var_dump(Redis::lrange ('fooList', 0, 1)); // 返回数组包含第 0 个至第 1 个, 共2个元素
		var_dump(Redis::lrange ('fooList', 0, -1)); //返回第0个至倒数第一个, 相当于返回所有元素
	
		//lindex 返回指定顺序位置的 list 元素
		var_dump(Redis::lindex('fooList', 10)); // 返回'bar1
		
		//lset 修改队列中指定位置的value
		var_dump(Redis::lset('fooList', 1, '123')); // 修改位置 1 的元素, 返回 true
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大帅同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值