| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- use Predis\Client;
- /**
- * \Redis
- */
- class Redis
- {
- const CONFIG_FILE = '/Config/redis.php';
- protected static $redis;
- public static function init()
- {
- self::$redis = new Client(require BASE_PATH.self::CONFIG_FILE);
- }
- public static function set($key,$value,$time=null,$unit=null)
- {
- self::init();
- if ($time) {
- switch ($unit) {
- case 'h':
- $time *= 3600;
- break;
- case 'm':
- $time *= 60;
- break;
- case 's':
- case 'ms':
- break;
- default:
- throw new InvalidArgumentException('单位只能是 h m s ms');
- break;
- }
- if ($unit=='ms') {
- self::_psetex($key,$value,$time);
- } else {
- self::_setex($key,$value,$time);
- }
- } else {
- self::$redis->set($key,$value);
- }
- }
- public static function get($key)
- {
- self::init();
- return self::$redis->get($key);
- }
- public static function delete($key)
- {
- self::init();
- return self::$redis->del($key);
- }
- private static function _setex($key,$value,$time)
- {
- self::$redis->setex($key,$time,$value);
- }
- private static function _psetex($key,$value,$time)
- {
- self::$redis->psetex($key,$time,$value);
- }
- }
|