使用 Redis 作为缓存驱动时,Redis 和 Cache 的区别?
设置 Redis 为缓存驱动后,Cache::get('xx')
和 Redis::get('xx')
有何区别?Cache::put('test', '1', 10);
,Redis::get('test')
值不是 1,Cache 和 Redis 是相互独立的吗?
@wanghan 贴一段代码就知道了,以后这种问题可以自己翻一下源码的,这样会让你印象更加深刻。:smile:
1、redis作为缓存驱动,
Cache::get('xx')
和Redis::get('xx')
没任何区别,你取不到是因为你少了前缀。2、为什么这么做的原因,可以看下设计模式,继承了同一接口
Illuminate\Contracts\Cache\Store
的缓存驱动,可以让你通过环境变量快速无缝切换缓存(比如我切换到文件
缓存驱动或者memcache
缓存驱动),无需更改任何业务代码.vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php