redis,memcache技术现在已经应用很广泛,"PHP脚本redis类的实例源码",我们也会用到它,就给大家分享了吧,用它可以很简洁,方便的调用redis里的内置函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | class redisDB{ private $redis ; //redis对象 /** * 初始化Redis * $config = array( * 'server' => '127.0.0.1' 服务器 * 'port' => '6379' 端口号 * ) * @param array $config */ function __construct( $config = array ()){ $this ->redis = new Redis(); $this ->redis->connect(REDIS_SERVER,REDIS_PORT); return $this ->redis; } /** * 设置值 * @param string $key KEY名称 * @param string|array $value 获取得到的数据 * @param int $timeOut 时间 */ public function set( $key , $value , $timeOut = 0, $type = 'json' ) { if ( $type == 'serialize' ) { $value = serialize( $value ); } else { $value = json_encode( $value ); } $retRes = $this ->redis->set( $key , $value ); if ( $timeOut > 0) $this ->redis->setTimeout( $key , $timeOut ); return $retRes ; } /** * 通过KEY获取数据 * @param string $key KEY名称 */ public function get( $key , $type = 'json' ) { $result = $this ->redis->get( $key ); if ( $type == 'serialize' ) { return unserialize( $result ); } else { return json_decode( $result ); } } /** * 删除一条数据 * @param string $key KEY名称 */ public function delete ( $key ) { return $this ->redis-> delete ( $key ); } /** * 清空数据 */ public function flushAll() { return $this ->redis->flushAll(); } /** * 数据入队列 * @param string $key KEY名称 * @param string|array $value 获取得到的数据 * @param bool $right 是否从右边开始入 */ public function push( $key , $value , $right = true) { $value = json_encode( $value ); return $right ? $this ->redis->rPush( $key , $value ) : $this ->redis->lPush( $key , $value ); } /** * 数据出队列 * @param string $key KEY名称 * @param bool $left 是否从左边开始出数据 */ public function pop( $key , $left = true) { $val = $left ? $this ->redis->lPop( $key ) : $this ->redis->rPop( $key ); return json_decode( $val ); } /** * 数据自增 * @param string $key KEY名称 */ public function increment( $key ) { return $this ->redis->incr( $key ); } /** * 数据自减 * @param string $key KEY名称 */ public function decrement( $key ) { return $this ->redis->decr( $key ); } /** * key是否存在,存在返回ture * @param string $key KEY名称 */ public function exists( $key ) { return $this ->redis->exists( $key ); } /** * 返回redis对象 * redis有非常多的操作方法,我们只封装了一部分 * 拿着这个对象就可以直接调用redis自身方法 */ public function redis() { return $this ->redis; } } |
使用方法:
1 2 3 4 5 6 7 8 | include 'redis.php' ; $redis = new redisDB(); $key = 'fields' ; $value = '好脚本' ; //value可以是字符串或者数组 $redis ->set( $key , $value ); //获取fields的值也很简单 $fvalue = $redis ->get( 'fields' ); print_r( $fvalue ); |
用到就copy吧,简单,实用。嘿嘿 有需要用到memcache的类,可以参考一下这个。
新闻热点
疑难解答