广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >laravel操作redis和缓存操作
  • 728
分享到

laravel操作redis和缓存操作

laravelphpredis缓存Poweredby金山文档 2023-09-04 10:09:37 728人浏览 独家记忆
摘要

一:操作Redis 1:redis拓展安装 composer require predis/predis 或者你也可以通过 PECL 安装 PHPRedis php 扩展,安装方法比较复杂,个人不推荐 2:配置redis 在con

一:操作Redis

1:redis拓展安装

composer require predis/predis

或者你也可以通过 PECL 安装 PHPRedis php 扩展,安装方法比较复杂,个人不推荐

2:配置redis

在config/database.php文件中配置redis

(1):单个redis配置

'redis' => [    'client' => env('REDIS_CLIENT', 'predis'),//别名,如果你安装的是PhpRedis,将client值改为phpredis    'default' => [        'host' => env('REDIS_HOST', '127.0.0.1'),//redis服务器主机        'password' => env('REDIS_PASSWORD', null),//redis服务器密码        'port' => env('REDIS_PORT', 6379),//redis服务器端口        'database' => env('REDIS_DB', 0),    ],    'cache' => [        'host' => env('REDIS_HOST', '127.0.0.1'),//redis服务器主机        'password' => env('REDIS_PASSWORD', null),//redis服务器密码        'port' => env('REDIS_PORT', 6379),//redis服务器端口        'database' => env('REDIS_CACHE_DB', 1),    ],],

(2):redis集群配置

'redis' => [    'client' => env('REDIS_CLIENT', 'predis'),    'clusters' => [        'default' => [            [                'host' => env('REDIS_HOST', 'localhost'),                'password' => env('REDIS_PASSWORD', null),                'port' => env('REDIS_PORT', 6379),                'database' => 0,            ],        ],    ],],

3:操作redis

(1):设置redis

Redis::set('val1','asdasd');

(2):获取redis

Redis::get('key')

(3):删除redis

Redis::del('key');

二:缓存操作

1:缓存配置

laravel框架的缓存配置在config/cache.php文件中,配置参数有:

(1):配置cache的驱动

'default' => env('CACHE_DRIVER', 'file'),

Laravel 自带了几个不错且可开箱即用的驱动

  • file - 将 Session 保存在 framework/cache/data 中。

  • cookie - Session 保存在安全加密的 Cookie 中。

  • database - Session 保存在关系型数据库中。

  • memcached / redis - Sessions 保存在其中一个快速且基于缓存的存储系统中。

  • array - Sessions 保存在 PHP 数组中,不会被持久化。

(2):根据你所选的驱动配置

'stores' => [        'apc' => [            'driver' => 'apc',        ],        'array' => [            'driver' => 'array',        ],        'database' => [            'driver' => 'database',            'table' => 'cache',            'connection' => null,        ],        'file' => [            'driver' => 'file',            'path' => storage_path('framework/cache/data'),        ],        'memcached' => [            'driver' => 'memcached',            'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),            'sasl' => [                env('MEMCACHED_USERNAME'),                env('MEMCACHED_PASSWORD'),            ],            'options' => [                // Memcached::OPT_CONNECT_TIMEOUT => 2000,            ],            'servers' => [                [                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),                    'port' => env('MEMCACHED_PORT', 11211),                    'weight' => 100,                ],            ],        ],        'redis' => [            'driver' => 'redis',            'connection' => 'cache',        ],        'dynamodb' => [            'driver' => 'dynamodb',            'key' => env('AWS_ACCESS_KEY_ID'),            'secret' => env('AWS_SECRET_ACCESS_KEY'),            'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),            'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),            'endpoint' => env('DYNAMODB_ENDPOINT'),        ],    ],
  • 如果你选择了的database作为驱动的时,就需要修改stores内的database配置

'database' => [    'driver' => 'database',    'table' => 'cache',//配置的缓存表名    'connection' => null,//连接名,这个是在config/database.php文件配置的,不进行配置使用默认连接的数据库],

你选择了database作为缓存驱动的话,在目录命令行执行

php artisan cache:tablephp artisan migrate

这时候会在数据库生成一个cache表用于存储缓存数据

  • 如果你选择了file作为驱动时,就需要修改stores内的file配置

'file' => [    'driver' => 'file',    'path' => storage_path('framework/cache/data'),//这里配置的是缓存数据保存地址],
  • 如果你选择了redis作为驱动时,就需要修改stores内的redis配置

'redis' => [    'driver' => 'redis',    'connection' => 'default',//redis的连接名,对应config/database.php文件的redis配置,如果不进行配置使用默认的redis连接配置],

2:缓存操作

(1):设置缓存

Cache::put('key', 'value', $minutes);//将不存在于缓存中的数据放入缓存中,如果存放成功返回 true ,否则返回 falseCache::add('key', 'value', $minutes);//数据永久存入缓存Cache::forever('key', 'value');//获取users缓存,如果不存在,执行第三个参数,将返回值存入缓存$value = Cache::remember('users', $minutes, function () {    return DB::table('users')->get();});//获取users缓存,如果不存在,执行第三个参数,将返回值存入缓存并永久储存$value = Cache::rememberForever('users', function() {    return DB::table('users')->get();});

(2):获取缓存

$value = Cache::get('key')//传递第二个参数,用来指定如果查找的数据不存在时,你希望返回的默认值$value = Cache::get('key', 'default');//第二个参数传递 Closure 作为默认值。如果指定的数据不存在于缓存中,将返回 Closure 的结果$value = Cache::get('key', function () {    return DB::table(...)->get();});//判断缓存是否存在,如果值为 null 或 不存在返回falseCache::has('key')

(3):删除缓存

//从缓存中获取到数据之后再删除它,如果缓存中不存在该数据, 则返回 null$value = Cache::pull('key');//删除缓存Cache::forget('key');//清空缓存Cache::flush();

(4):缓存递增递减

increment 和 decrement 方法可以用来调整高速缓存中整数项的值。这两个方法都可以传入第二个可选参数,用来指示要递增或递减值的数量

注意:使用increment和decrement前提对应的缓存之前必须有缓存数据,不然返回NULL
Cache::increment('key');Cache::increment('key', 2);Cache::decrement('key');Cache::decrement('key', 2);

(5):使用多种缓存方式

如果你想要使用多种缓存,你可以使用下面这种形式操作缓存,其他方法同理

$value = Cache::store('file')->get('foo');//获取Cache::store('redis')->put('bar', 'baz', 10);//设置

来源地址:https://blog.csdn.net/huaweichenai/article/details/128954391

--结束END--

本文标题: laravel操作redis和缓存操作

本文链接: https://www.lsjlt.com/news/393419.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • laravel操作redis和缓存操作
    一:操作redis 1:redis拓展安装 composer require predis/predis 或者你也可以通过 PECL 安装 PhpRedis PHP 扩展,安装方法比较复杂,个人不推荐 2:配置redis 在con...
    99+
    2023-09-04
    laravel php redis 缓存 Powered by 金山文档
  • Laravel操作redis和缓存操作详解
    目录一:操作redis1:redis拓展安装2:配置redis3:操作redis二:缓存操作1:缓存配置2:缓存操作一:操作redis 1:redis拓展安装 composer re...
    99+
    2023-02-13
    Laravel操作redis Laravel 缓存操作 Laravel redis
  • laravel框架中缓存的操作示例
    这篇文章给大家分享的是有关laravel框架中缓存的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。laravel为不同的缓存系统提供了统一的API。缓存配置位于config/cache.php。Larav...
    99+
    2023-06-14
  • redis缓存的简单操作(get、put)
    本文介绍简单的redis缓存操作,包括引入jedisjar包、配置redis、RedisDao需要的一些工具、向redis中放数据(put)、从redis中取数据(get)、访问redis时的逻辑 一、引入...
    99+
    2022-06-04
    缓存 操作 简单
  • laravel框架的缓存操作代码实例
    laravel为不同的缓存系统提供了统一的API。缓存配置位于config/cache.php。Laravel目前支持主流的缓存后端有Memcached和Redis等。 主要方法: ...
    99+
    2022-11-11
  • Python如何操作Redis缓存数据库
    本篇内容主要讲解“Python如何操作Redis缓存数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何操作Redis缓存数据库”吧!今天我们来学习如何使用Python操作Red...
    99+
    2023-06-02
  • springboot使用shiro-整合redis作为缓存的操作
    说在前面 本来的整合过程是顺着博客的顺序来的,越往下,集成的越多,由于之前是使用ehcache缓存,现在改为redis,限制登录人数 以及 限制登录次数等 都需要改动,本篇为了简单,...
    99+
    2022-11-12
  • 如何在java项目中操作Redis缓存
    这篇文章给大家介绍如何在java项目中操作Redis缓存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.导入必须的Jar包使用Java操作Redis需要两个必须的Jar包:jedis-2.5.1.jar 和 ...
    99+
    2023-05-31
    java redis
  • laravel操作session和cookie
    一:操作session 1:session配置 Session 的配置文件存储在config/session.php中,配置参数有: (1):配置session驱动 'driver' => env('SESSION_DRIVER',...
    99+
    2023-09-27
    laravel php Powered by 金山文档
  • SpringBoot中的Redis 缓存问题及操作方法
    目录1、五大基本数据类型和操作1.1 字符串-string1.2 列表-list1.3 集合-set1.4 键值对-hash1.5 有序集合-zset2、Redis整合2.1 spr...
    99+
    2022-11-13
    SpringBoot Redis 缓存 SpringBoot缓存
  • Spring Boot中怎么利用Redis 实现缓存操作
    这期内容当中小编将会给大家带来有关Spring Boot中怎么利用Redis 实现缓存操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、缓存的应用场景二、更新缓存的策略三、运行 springboot-...
    99+
    2023-06-17
  • Python操作Redis和Memcac
    MemcachedMemcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
    99+
    2023-01-31
    操作 Python Memcac
  • window手动操作清理redis缓存的技巧总结
    redis缓存知识点: 一、缓存穿透 缓存穿透是指查询一个缓存和数据库中都没有的数据,由于大部分缓存策略是被动加载的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求...
    99+
    2022-10-18
  • Java 操作Redis
    一、 使用Java操作Redis前,请先运行Redis服务与下载Redis驱动,以maven工程为例,引入如下jar  redis.clients jedis 2.9.0  创建测试类,验证是否成功连...
    99+
    2019-08-18
    Java 操作Redis
  • PHP操作Redis
    目录基本指令获取所有的key(keys)判断键对应值的类型(type)删除缓存项(del)设置有效期(expire,expireAt)获取有效期(ttl)检测缓存项是否存在(exists)查看当前数据库key的数量(dbSize)...
    99+
    2017-06-12
    PHP操作Redis
  • Python 操作Redis
    在 Python中我们使用 redis库来操作 Redis数据库。Redis数据库的使用命令这里就不介绍了。 需要安装 redis库。检查是否安装redis: pip redis 如果未安装,使...
    99+
    2023-09-16
    Python 操作Redis
  • Python操作redis
    Python操作redispythonredis数据库searchimport首先确保redis已经正常启动。安装   可以去pypi上找到redis的Python模块:   http://pypi.python.org/pypi%3Aac...
    99+
    2023-01-31
    操作 Python redis
  • Java客户端利用Jedis操作redis缓存示例代码
    前言Redis是一个开源的Key-Value数据缓存,和Memcached类似。Redis多种类型的value,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型...
    99+
    2023-05-31
    java客户端 jedis redis缓存
  • PHPLaravel框架缓存操作介绍
    目录主要的缓存类型(驱动)设置缓存获取缓存数据检查缓存项是否存在删除缓存数据缓存辅助函数Laravel为不同的缓存系统封装了统一的API,缓存配置文件./config/cache.p...
    99+
    2022-11-13
  • laravel数据库操作
    了解 Laravel 某个模块的内部实现,最好的切入点就是从 composer.json 开始,从里面我们主要可以得到以下信息:require 字段可以知道相关的依赖包extra.laravel.providers 可以知道它的服务提供者的...
    99+
    2016-06-17
    laravel数据库操作 数据库入门 数据库基础教程 数据库 mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作