phpiredis

PHP extension for Redis based on Hiredis

  • 所有者: nrk/phpiredis
  • 平台:
  • 許可證: BSD 2-Clause "Simplified" License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Phpiredis

Software license
Build status

Phpiredis is an extension for PHP 5.x and 7.x based on hiredis
that provides a simple and efficient client for Redis and a fast incremental parser / serializer for
the RESP protocol.

Installation

Building and using this extension requires hiredis (>=0.9.0 <1.0.0) to be installed on the system.
hiredis is usually available in the repositories of most Linux distributions, alternatively it is
possible to build it by fetching the code from its repository.

git clone https://github.com/nrk/phpiredis.git
cd phpiredis
phpize && ./configure --enable-phpiredis
make && make install

When the configuration script is unable to locate hiredis on your system, you can specify in which
directory it can be found using --with-hiredis-dir= (e.g. --with-hiredis-dir=/usr/local).

Phpiredis provides a basic test suite that can be launched with make test. Tests require a running
instance of redis-server listening on 127.0.0.1:6379 but make sure that your server does not
hold data you are interested: you could end up losing everything stored on it!

If you notice a failing test or a bug, you can contribute by opening a pull request on GitHub or
simply file a bug on our issue tracker.

Usage

Connecting to Redis is as simple as calling the phpiredis_connect() function with a server address
as the first parameter and an optional port number when the server is listening to a different port
than the default 6379:

$redis = phpiredis_connect('127.0.0.1', 6379);      // normal connection
$redis = phpiredis_pconnect('127.0.0.1', 6379);     // persistent connection

Alternatively you can connect to redis using UNIX domain socket connections.

$redis = phpiredis_connect('/tmp/redis.sock');      // normal connection
$redis = phpiredis_pconnect('/tmp/redis.sock');     // persistent connection

Once the connection is established, you can send commands to Redis using phpiredis_command_bs() or
pipeline them using phpiredis_multi_command_bs():

$response = phpiredis_command_bs($redis, array('DEL', 'test'));

$response = phpiredis_multi_command_bs($redis, array(
    array('SET', 'test', '1'),
    array('GET', 'test'),
));

The _bs suffix indicates that these functions can handle binary key names or values by using the
unified Redis protocol available since Redis >= 1.2.

Commands can still be sent using the old and deprecated inline protocol using phpiredis_command()
and phpiredis_multi_command() (note the lack of the _bs suffix) but it's highly discouraged and
these functions will be removed in future versions of phpiredis.

$response = phpiredis_command($redis, 'DEL test');

$response = phpiredis_multi_command($redis, array(
    'SET test 1',
    'GET test',
));

Contributing

Any kind of contribution is extremely welcome! Just fork the project on GitHub, work on new features
or bug fixes using feature branches and open pull-requests
with concise but complete descriptions of your changes. If you are unsure about a proposal, you can
just open an issue to discuss it before writing actual code.

Authors

Daniele Alessandri (current maintainer)
Sebastian Waisbrot (original developer)

License

The code for phpiredis is distributed under the terms of the BSD license (see LICENSE).

主要指標

概覽
名稱與所有者nrk/phpiredis
主編程語言C
編程語言C (語言數: 4)
平台
許可證BSD 2-Clause "Simplified" License
所有者活动
創建於2010-12-04 23:19:43
推送於2022-01-18 08:06:40
最后一次提交2016-11-24 18:00:34
發布數2
最新版本名稱v1.0.1 (發布於 2020-09-20 14:23:23)
第一版名稱v1.0.0 (發布於 2016-11-24 18:02:32)
用户参与
星數488
關注者數33
派生數67
提交數160
已啟用問題?
問題數44
打開的問題數5
拉請求數6
打開的拉請求數4
關閉的拉請求數14
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?