m6web/redis-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

m6web/redis-bundle

最新稳定版本:v7.0.1

Composer 安装命令:

composer require m6web/redis-bundle

包简介

bundle sf on top of predis

README 文档

README

Build Status Latest Stable Version Total Downloads License PHP Version Require

symfony Bundle on top of predis

see predis/predis

features

  • semantic configuration
  • sf event dispatcher integration
  • session handler with redis storage : M6Web\Bundle\RedisBundle\Redis\RedisSessionHandler
  • redis adapter for guzzle cache : M6Web\Bundle\RedisBundle\Guzzle\RedisCacheAdapter
  • dataCollector for sf2 web profiler toolbar

usage

configuration

in config.yml for a simple cache service :

m6web_redis: servers: default: host: 'localhost' port: 6379 reconnect: 1 clients: default: servers: ["default"] # list of servers to use prefix: raoul\ # prefix to use timeout: 2 # timeout in second read_write_timeout: 2 # read-write timeout in second 

for a multiple clients :

m6web_redis: servers: first: host: 'localhost' port: 6379 reconnect: 1 second: host: 'xxxxxxxx' clients: default: servers: ["first"] # list of servers to use prefix: raoul\ # prefix to use timeout: 2 # timeout in second (float) read_write_timeout: 1.2 # read write timeout in seconds (float) compress: true # compress/uncompress data sent/retrieved from redis using gzip, only method SET, SETEX, SETNX, GET, MGET and MSET are supported sharded: servers: ["first", "second"] prefix: raaaoul\ timeout: 1 

$this->get('m6web_redis') send the default client. this->get('m6web_redis.sharded') the sharded one.

list of options in servers configuration

  • host: IP address or hostname of Redis.
  • port: CP port on which Redis is listening to. Default value 6379
  • database: Database index (see the SELECT command).
  • scheme: Connection scheme, such as 'tcp' or 'unix'. Default value tcp
  • async_connect: Performs the connect() operation asynchronously. Default value false
  • persistent: Leaves the connection open after a GC collection. Default value false
  • timeout: Timeout for the connect() operation. Default value 10
  • read_write_timeout: Timeout for read() and write() operations
  • reconnect: Number of reconnection attempt if a redis command fail, only for tcp
m6web_redis: servers: server1: host: 'localhost' port: 6379 

server configuration via wildcard

m6web_redis: servers: server1: host: 'localhost' port: 6379 server2: host: 'xxxxxxxx' clients: default: servers: ["server*"] # all servers matching server* prefix: raoul\ timeout: 2 

event dispatcher

The event M6Web\Bundle\RedisBundle\EventDispatcher\RedisEvent is automaticly dispatched when a command is executed. Events are fired with the redis.command label.

You can customize the event name through the client configuration :

m6web_redis: clients: default: eventname: myEventName

session handler

# app/config/config.yml framework: session: # ... handler_id: session.handler.redis m6web_redis: servers: first: ip: 'localhost' port: 6379 clients: sessions: servers: ["first"] prefix: sessions\ timeout: 1 services: session.handler.redis: class: M6Web\Bundle\RedisBundle\Redis\RedisSessionHandler public: false arguments: - '@m6web_redis.sessions' - 3600 

dataCollector

Datacollector is available when the Symfony profiler is enabled. The collector allow you to see the following Redis data:

  • Command name
  • Execution time
  • Command arguments

overwriting base class

m6web_redis: clients: default: servers: ["first"] type: ["db"] timeout: 0.5 class: \MyCompany\Redis 

guzzle redis cache adapter

m6web_redis: clients: guzzlehttp: servers: ["first"] prefix: GuzzleHttp\ class: M6Web\Bundle\RedisBundle\CacheAdapters\M6WebGuzzleHttp timeout: 1

Launch Unit Tests

bin/atoum

Launch php cs

 make cs-ci make cs-fix

统计信息

  • 总下载量: 344.11k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 1

GitHub 信息

  • Stars: 8
  • Watchers: 46
  • Forks: 8
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固