Jadual Kandungan
PHP-redis命令文档
Rumah php教程 php手册 PHP-redis命令文档

PHP-redis命令文档

Jun 13, 2016 am 09:15 AM
key redis dan Pesanan pangkalan data dokumen alam semula jadi

PHP-redis命令文档

  Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,它的值可以是string(字符串)、list(列表)、sets(集合)或者是ordered sets(被排序的集合),所有的数据类型都具有push/pop、add/remove、执行服务端的并集、交集、两个sets集中的差别等等操作,这些操作都是具有原子性的,Redis还支持各种不同的排序能力

  Redis 2.0更是增加了很多新特性,如:提升了性能、增加了新的数据类型、更少的利用内存(AOF和VM)

  phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系

  以下是redis官方提供的命令使用技巧:

  Redis::__construct构造函数

  $redis = new Redis();

  connect, open 链接redis服务

  参数

  host: string,服务地址

  port: int,端口号

  timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)

  注: 在redis.conf中也有时间,默认为300

  ping 查看连接状态

  get 得到某个key的值(string值)

  如果该key不存在,return 特殊值 nil;如果 key 不是字符串类型,那么返回一个错误

  set 写入key 和 value(string值)

  在 Redis 2.6.12 版本以前, set命令总是返回 OK 。

  从 Redis 2.6.12 版本开始, set 在设置操作成功完成时,才返回 OK 。

  如果设置了 NX 或者 XX ,但因为条件没达到而造成设置操作未执行,那么命令返回空批量回复(NULL Bulk Reply)。

  setex 带生存时间的写入值

  将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。

  如果 key 已经存在, SETEX 命令将覆写旧值。

  这个命令类似于以下两个命令:

  SET key value

  EXPIRE key seconds # 设置生存时间

  不同之处是, SETEX 是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一时间内完成,

  该命令在 Redis 用作缓存时,非常实用。

  #粒子

  $redis->setex(‘key’, 3600, ‘value’); // sets key → value, with 1h TTL.

  setnx 判断是否重复的,写入值

  #将 key 的值设为 value ,当且仅当 key 不存在。 若给定的 key 已经存在,则 SETNX 不做任何动作

  $redis->setnx(‘key’, ‘value’);

  $redis->setnx(‘key’, ‘value’);

  delete 删除指定key的值

  返回已经删除key的个数(长整数)

  $redis->delete(‘key1′, ‘key2′);

  $redis->delete(array(‘key3′, ‘key4′, ‘key5′));

  ttl

  得到一个key的生存时间

  persist

  移除生存时间到期的key

  如果key到期 true 如果不到期 false

  mset (redis版本1.1以上才可以用)

  同时给多个key赋值

  $redis->mset(array(‘key0′ => ‘value0′, ‘key1′ => ‘value1′));

  exists

  判断key是否存在。存在 true 不在 false

  $redis->exists(‘test’);

  incr, incrBy

  key中的值进行自增1,如果填写了第二个参数,者自增第二个参数所填的值

  $redis->incr(‘key1′);

  $redis->incrBy(‘key1′, 10);

  decr, decrBy

  做减法,使用方法同incr

  getMultiple

  传参

  由key组成的数组

  返回参数

  如果key存在返回value,不存在返回false

  $redis->set(‘key1′, ‘value1′);

  $redis->set(‘key2′, ‘value2′);

  $redis->set(‘key3′, ‘value3′);

  $redis->getMultiple(array(‘key1′, ‘key2′, ‘key3′));

  $redis->lRem(‘key1′, ‘A’, 2);

  $redis->lRange(‘key1′, 0, -1);#获取所有的列表

  list相关操作

  lPush

  $redis->lPush(key, value);

  在名称为key的list左边(头)添加一个值为value的 元素

  rPush

  $redis->rPush(key, value);

  在名称为key的list右边(尾)添加一个值为value的 元素

  lPushx/rPushx

  $redis->lPushx(key, value);

  在名称为key的list左边(头)/右边(尾)添加一个值为value的元素,如果value已经存在,则不添加

  lPop/rPop

  $redis->lPop(‘key’);

  输出名称为key的list左(头)起/右(尾)起的第一个元素,删除该元素

  blPop/brPop

  $redis->blPop(‘key1′, ‘key2′, 10);

  lpop命令的block版本。即当timeout为0时,若遇到名称为key i的list不存在或该list为空,则命令结束。如果timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi+1开始的list执行pop操作

  lSize

  $redis->lSize(‘key’);

  返回名称为key的list有多少个元素

  lIndex, lGet

  $redis->lGet(‘key’, 0);

  返回名称为key的list中index位置的元素

  lSet

  $redis->lSet(‘key’, 0, ‘X’);

  给名称为key的list中index位置的元素赋值为value

  lRange, lGetRange

  $redis->lRange(‘key1′, 0, -1);

  返回名称为key的list中start至end之间的元素(end为 -1 ,返回所有)

  lTrim, listTrim

  $redis->lTrim(‘key’, start, end);

  截取名称为key的list,保留start至end之间的元素

  lRem, lRemove

  $redis->lRem(‘key’, ‘A’, 2);

  删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count>0从头至尾删除count个值为value的元素,count

  lInsert

  在名称为为key的list中,找到值为pivot 的value,并根据参数Redis::BEFORE | Redis::AFTER,来确定,newvalue 是放在 pivot 的前面,或者后面。如果key不存在,不会插入,如果 pivot不存在,return -1

  $redis->delete(‘key1′); $redis->lInsert(‘key1′, Redis::AFTER, ‘A’, ‘X’); $redis->lPush(‘key1′, ‘A’); $redis->lPush(‘key1′, ‘B’); $redis->lPush(‘key1′, ‘C’); $redis->lInsert(‘key1′, Redis::BEFORE, ‘C’, ‘X’);

  $redis->lRange(‘key1′, 0, -1);

  $redis->lInsert(‘key1′, Redis::AFTER, ‘C’, ‘Y’);

  $redis->lRange(‘key1′, 0, -1);

  $redis->lInsert(‘key1′, Redis::AFTER, ‘W’, ‘value’);

  rpoplpush

  返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

  $redis->delete(‘x’, ‘y’);

  $redis->lPush(‘x’, ‘abc’); $redis->lPush(‘x’, ‘def’); $redis->lPush(‘y’, ’123′); $redis->lPush(‘y’, ’456′); // move the last of x to the front of y. var_dump($redis->rpoplpush(‘x’, ‘y’));

  var_dump($redis->lRange(‘x’, 0, -1));

  var_dump($redis->lRange(‘y’, 0, -1));

  string(3) “abc”

  array(1) { [0]=> string(3) “def” }

  array(3) { [0]=> string(3) “abc” [1]=> string(3) “456″ [2]=> string(3) “123″ }

  SET操作相关

  sAdd

  向名称为key的set中添加元素value,如果value存在,不写入,return false

  $redis->sAdd(key , value);

  sRem, sRemove

  删除名称为key的set中的元素value

  $redis->sAdd(‘key1′ , ‘set1′);

  $redis->sAdd(‘key1′ , ‘set2′);

  $redis->sAdd(‘key1′ , ‘set3′);

  $redis->sRem(‘key1′, ‘set2′);

  sMove

  将value元素从名称为srckey的集合移到名称为dstkey的集合

  $redis->sMove(seckey, dstkey, value);

  sIsMember, sContains

  名称为key的集合中查找是否有value元素,有ture 没有 false

  $redis->sIsMember(key, value);

  sCard, sSize

  返回名称为key的set的元素个数

  sPop

  随机返回并删除名称为key的set中一个元素

  sRandMember

  随机返回名称为key的set中一个元素,不删除

  sInter

  求交集

  sInterStore

  求交集并将交集保存到output的集合

  $redis->sInterStore(‘output’, ‘key1′, ‘key2′, ‘key3′)

  sUnion

  求并集

  $redis->sUnion(‘s0′, ‘s1′, ‘s2′);

  s0,s1,s2 同时求并集

  sUnionStore

  求并集并将并集保存到output的集合

  $redis->sUnionStore(‘output’, ‘key1′, ‘key2′, ‘key3′);

  sDiff

  求差集

  sDiffStore

  求差集并将差集保存到output的集合

  sMembers, sGetMembers

  返回名称为key的set的所有元素

  sort

  排序,分页等

  参数

  ‘by’ => ‘some_pattern_*’,

  ‘limit’ => array(0, 1),

  ‘get’ => ‘some_other_pattern_*’ or an array of patterns,

  ‘sort’ => ‘asc’ or ‘desc’,

  ‘alpha’ => TRUE,

  ‘store’ => ‘external-key’

  例子

  $redis->delete(‘s’); $redis->sadd(‘s’, 5); $redis->sadd(‘s’, 4); $redis->sadd(‘s’, 2); $redis->sadd(‘s’, 1); $redis->sadd(‘s’, 3);

  var_dump($redis->sort(‘s’)); // 1,2,3,4,5

  var_dump($redis->sort(‘s’, array(‘sort’ => ‘desc’))); // 5,4,3,2,1

  var_dump($redis->sort(‘s’, array(‘sort’ => ‘desc’, ‘store’ => ‘out’))); // (int)5

  string命令

  getSet

  返回原来key中的值,并将value写入key

  $redis->set(‘x’, ’42′);

  $exValue = $redis->getSet(‘x’, ‘lol’); // return ’42′, replaces x by ‘lol’

  $newValue = $redis->get(‘x’)’ // return ‘lol’

  append

  string,名称为key的string的值在后面加上value

  $redis->set(‘key’, ‘value1′);

  $redis->append(‘key’, ‘value2′);

  $redis->get(‘key’);

  getRange (方法不存在)

  返回名称为key的string中start至end之间的字符

  $redis->set(‘key’, ‘string value’);

  $redis->getRange(‘key’, 0, 5);

  $redis->getRange(‘key’, -5, -1);

  setRange (方法不存在)

  改变key的string中start至end之间的字符为value

  $redis->set(‘key’, ‘Hello world’);

  $redis->setRange(‘key’, 6, “redis”);

  $redis->get(‘key’);

  strlen

  得到key的string的长度

  $redis->strlen(‘key’);

  getBit/setBit

 

  返回2进制信息

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Membina Mod Kluster Redis Cara Membina Mod Kluster Redis Apr 10, 2025 pm 10:15 PM

Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

MySQL: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Cara membersihkan data redis Cara membersihkan data redis Apr 10, 2025 pm 10:06 PM

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

Mengapa menggunakan mysql? Faedah dan kelebihan Mengapa menggunakan mysql? Faedah dan kelebihan Apr 12, 2025 am 12:17 AM

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Cara menggunakan perintah redis Cara menggunakan perintah redis Apr 10, 2025 pm 08:45 PM

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Cara Membaca Gilir Redis Cara Membaca Gilir Redis Apr 10, 2025 pm 10:12 PM

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Cara menggunakan kunci redis Cara menggunakan kunci redis Apr 10, 2025 pm 08:39 PM

Menggunakan REDIS untuk mengunci operasi memerlukan mendapatkan kunci melalui arahan SETNX, dan kemudian menggunakan perintah luput untuk menetapkan masa tamat tempoh. Langkah-langkah khusus adalah: (1) Gunakan arahan SETNX untuk cuba menetapkan pasangan nilai utama; (2) Gunakan perintah luput untuk menetapkan masa tamat tempoh untuk kunci; (3) Gunakan perintah DEL untuk memadam kunci apabila kunci tidak lagi diperlukan.

Cara membaca kod sumber redis Cara membaca kod sumber redis Apr 10, 2025 pm 08:27 PM

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.

See all articles