laravel 5.4安装redis:
//> 依赖安装 predis/predis 包
composer require predis/predis
关于Redis:redis不支持windows,单要在windows上使用redis需要下载下面链接资源(redis守护进程),并安装php扩展php_redis.dll文件(安装->windows扩展->redis扩展)
Redis-windows-server | 资源下载
配置: config/database.php - - - redis配置选项
/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer set of commands than a typical key-value systems
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'), // tcp/ip 服务器ip地址
'password' => env('REDIS_PASSWORD', null), // tcp/ip redis登录密码(需要设置开启,在redis.conf配置文件中)
'port' => env('REDIS_PORT', 6379), // tcp/ip 端口
# redis集群时,该参数无效 - - - 该参数的作用:保存数据文件(参考redis配置参数说明)
'database' => 0, // 数据库数值
# predis 还支持一些参数 - - - 可选
// 指定与Redis实例进行通信的协议,默认tcp/ip,支持unix(UNIX域套接字),http(通过Webdis的HTTP协议)
'scheme' => 'tcp',
# path 默认空 | 使用UNIX域套接字连接到Redis时使用的UNIX域套接字文件的路径
'path' => '',
# async 默认 false | 指定是否以非阻塞的方式建立到服务器的连接(即在底层资源执行实际连接时客户端未被阻塞)
'async' => false,
# persistent 默认false | 指定底层连接资源在脚本结束其生命周期时是否应保持打开状态
'persistent' => false,
# timeout 默认 5 | 用于连接Redis服务器的超时(以秒为单位),之后引发异常
'timeout' => 5,
# read_write_timeout 默认未设置 | 在对基础网络资源执行读取或写入操作时使用超时(以秒为单位),之后引发异常。
# 默认值实际上取决于底层平台,但通常是60秒。
'read_write_timeout' => 60,
# alias 提供助记符别名来标识连接,客户端分片(集群)或主/从复制 有用
'alias' => null,
# weight 权重 默认:未设置 | 指定用于在使用客户端分片(群集)时在多个服务器之间非对称地平衡密钥分配的权重
'weight' => null,
# iterable_multibulk 默认:false | 设置为truePredis时,将Redis中的multibulk作为迭代器实例返回,而不是普通的简单PHP数组
'iterable_multibulk' => false,
# throw_errors 默认:true | 当设置为true服务器时,由Redis生成的错误被转换为PHP异常,否则它们将作为普通的PHP对象返回
'throw_errors' => true
],
],
[ = = = = = = = = = = = = = = = =]
# 配置redis集群 | 如果应用使用了 Redis 服务器集群,需要在 Redis 配置中通过 clusters 定义这些集群
'redis' => [
'client' => 'predis',
'clusters' => [
'default' => [
[
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
],
],
cluster :告知laravel Redis客户端在多个Redis节点间执行客户端分片
Redis - 更多配置选项
laravel中Redis门面的基本使用:
//> 字符串类型 String
//> 设置redis值
Redis::set('name','value')
//> Redis获取相关值
Redis::get('name')
//> Redis 切换连接; 默认返回Redis实例
Redis::connection('default')
//> exists('name') 判断redis键值是否存在
Redis::exists('name')
备注:关于Redis的更多使用方法,参看Redis的使用手册 -> Redis-方法大全
关于Redis的方法都能被使用。
Redis的更多使用这里不再一一测试,具体用法参看手册和Redis使用大全
redis - - - php_redis.dll 扩展提供的方法
$redis = new \Redis();
$redis->connect('127.0.0.1',6379); // 链接redis服务器
# ECHO 发送字符串到redis服务器,成功则返回当前字符串
echo $redis->echo('hello redis'); // hello redis
# AUTH 向redis服务器发送登录密码 - 如果服务端开启时使用
$redis->auth('123456'); // 返回true:登录成功 | false:登录失败
# PING 测试当前链接状态
echo $redis->ping(); // +PONG
# SWAPDB 交换数据库 - 不支持redis_php方法形式 - redis集群无效
# 这将交换数据库0与数据库1.
# 所有与数据库0连接的客户端将立即看到新的数据,
# 就像连接数据库1的所有客户端将看到以前的数据库0的数据。
SWAPDB 0 1
# SELECT 选择给定数据库 - redis集群无效
$redis->select(1); // 选择数据库1 true:操作成功 | false:操作失败
# QUIT - 关闭redis服务
QUIT // redis - 不支持 quit() 方法
网友评论