PHP Net Redis,簡稱 Predis,是一個支持 Redis 數據庫的 PHP 庫,它是一個輕量級的、模塊化的工具集,用于在編寫應用程序時訪問 Redis 數據庫。
Predis 提供了對 Redis 數據庫的各種操作,包括字符串、列表、哈希表、集合等數據類型的操作。下面簡單介紹幾個比較常用的操作。
//連接 Redis $client = new Predis\Client(array( 'host' =>'localhost', 'port' =>6379, )); //設置字符串 $client->set('name', 'John'); //獲取字符串 $name = $client->get('name'); echo "Name: ".$name; //設置列表 $client->rpush('animals', 'dog'); $client->rpush('animals', 'cat'); $client->rpush('animals', 'bird'); //獲取列表 $animals = $client->lrange('animals', 0, -1); echo "
Animals: "; print_r($animals); //設置哈希表 $client->hset('user', 'name', 'John'); $client->hset('user', 'age', 25); //獲取哈希表 $user = $client->hgetall('user'); echo "
User: "; print_r($user);
除了基本操作外,Predis 還提供了事務、管道、發布/訂閱等高級功能。
//事務操作 $transaction = $client->multi(); $transaction->set('name', 'Lucy'); $transaction->rpush('animals', 'tiger'); $transaction->hset('user', 'name', 'Lucy'); $result = $transaction->exec(); echo "
Result: "; print_r($result); //管道操作 $pipe = $client->pipeline(); $pipe->set('name', 'Amy'); $pipe->rpush('animals', 'elephant'); $pipe->hset('user', 'name', 'Amy'); $result = $pipe->execute(); echo "
Result: "; print_r($result); //發布消息 $client->publish('tech-channel', 'Hello World!'); //訂閱消息 $pubSub = $client->pubSubLoop(); $pubSub->subscribe('tech-channel'); foreach ($pubSub as $message) { if ($message->kind == 'message') { echo "
Channel: ".$message->channel; echo "
Message: ".$message->payload; } }
總之,Predis 提供了簡單易用的 API,充分發揮了 Redis 數據庫的性能和靈活性,在開發高性能、高并發的 Web 應用時是一個不錯的選擇。