php操作redis的常用方法有哪些
php redis的方法:connect()、set()、get()、delete()、setnx()、exists()、incr()、decr()、getMultiple()、lpush()、rpush()、lpop()、lget()等。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
php操作redis的常用方法
1,connect
描述:实例连接到一个Redis.
参数:host: string,port: int
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
<?php $redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); var_dump($result); //结果:bool(true) ?>
2,set
描述:设置key和value的值
参数:Key Value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->set('test',"11111111111"); var_dump($result); //结果:bool(true) ?>
3,get
描述:获取有关指定键的值
参数:key
返回值:string或BOOL 如果键不存在,则返回 FALSE。否则,返回指定键对应的value值。
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->get('test'); var_dump($result); //结果:string(11) "11111111111" ?>
4,delete
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN
返回值:删除的项数
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); echo $redis->get('test'); //结果:1111111111111 $redis->delete('test'); var_dump($redis->get('test')); //结果:bool(false) ?>
5,setnx
描述:如果不存在则设置,如果存在了,则不做变动
参数:key value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); $redis->setnx('test',"22222222"); echo $redis->get('test'); //结果:1111111111111 $redis->delete('test'); $redis->setnx('test',"22222222"); echo $redis->get('test'); //结果:22222222 ?>
6,exists
描述:验证指定的键是否存在
参数key
返回值:Bool 成功返回:TRUE;失败返回:FALSE
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); var_dump($redis->exists('test')); //结果:bool(true) ?>
7,incr
描述:数字递增存储键值键.
参数:key value:将被添加到键的值
返回值:INT the new value
实例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"123"); var_dump($redis->incr("test")); //结果:int(124) var_dump($redis->incr("test")); //结果:int(125) ?>
8,decr
描述:数字递减存储键值。
参数:key value:将被添加到键的值
返回值:INT the new value
实例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"123"); var_dump($redis->decr("test")); //结果:int(122) var_dump($redis->decr("test")); //结果:int(121) ?>
9,getMultiple
描述:取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为false,【不可对集合操作,否则为false】
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
实例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test1',"1"); $redis->set('test2',"2"); $result = $redis->getMultiple(array('test1','test2')); print_r($result); //结果:Array ( [0] => 1 [1] => 2 ) ?>
10,lpush
描述:由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
实例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); var_dump($redis->lpush("test","111")); //结果:int(1) var_dump($redis->lpush("test","222")); //结果:int(2) ?>
11,rpush
描述:由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); var_dump($redis->lpush("test","111")); //结果:int(1) var_dump($redis->lpush("test","222")); //结果:int(2) var_dump($redis->rpush("test","333")); //结果:int(3) var_dump($redis->rpush("test","444")); //结果:int(4) ?>
12,lpop
描述:返回和移除列表的第一个元素
参数:key
返回值:成功返回第一个元素的值 ,失败返回false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); $redis->rpush("test","333"); $redis->rpush("test","444"); var_dump($redis->lpop("test")); //结果:string(3) "222" ?>
13,lsize,llen
描述:返回的列表的长度。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。
参数:Key
返回值:成功返回数组长度,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); $redis->rpush("test","333"); $redis->rpush("test","444"); var_dump($redis->lsize("test")); //结果:int(4) ?>
14,lget
描述:返回指定键存储在列表中指定索引的元素。 0第一个元素,1第二个… -1最后一个元素,-2的倒数第二…错误的索引或键不指向列表则返回FALSE。
参数:key index
返回值:成功返回指定元素的值,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); $redis->rpush("test","333"); $redis->rpush("test","444"); var_dump($redis->lget("test",3)); //结果:string(3) "444" ?>
15,lset
描述:为列表指定的索引赋新的值,若不存在该索引返回false.
参数:key index value
返回值:成功返回true,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); var_dump($redis->lget("test",1)); //结果:string(3) "111" var_dump($redis->lset("test",1,"333")); //结果:bool(true) var_dump($redis->lget("test",1)); //结果:string(3) "333" ?>
16,lgetrange
描述:
返回在该区域中的指定键列表中开始到结束存储的指定元素【可打印整个列表】,lGetRange(key, start, end)。0第一个元素,1第二个元素… -1最后一个元素,-2的倒数第二…
参数:key start end
返回值:成功返回查找的值,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); print_r($redis->lgetrange("test",0,-1)); //结果:Array ( [0] => 222 [1] => 111 ) ?>
17,lremove
描述:从列表中从头部开始移除count个匹配的值。如果count为零,所有匹配的元素都被删除。如果count是负数,内容从尾部开始删除。
参数:key count value
返回值:成功返回删除的个数,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush('test','a'); $redis->lpush('test','b'); $redis->lpush('test','c'); $redis->rpush('test','a'); print_r($redis->lgetrange('test', 0, -1)); //结果:Array ( [0] => c [1] => b [2] => a [3] => a ) var_dump($redis->lremove('test','a',2)); //结果:int(2) print_r($redis->lgetrange('test', 0, -1)); //结果:Array ( [0] => c [1] => b ) ?>
18,sadd
描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:key value
返回值:成功返回true,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); var_dump($redis->sadd('test','111')); //结果:bool(true) var_dump($redis->sadd('test','333')); //结果:bool(true) print_r($redis->sort('test')); //结果:Array ( [0] => 111 [1] => 333 ) ?>
19,sremove
描述:删除Key中指定的value值
参数:key member
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','333'); $redis->sremove('test','111'); print_r($redis->sort('test')); //结果:Array ( [0] => 333 ) ?>
20,smove
描述:将Key1中的value移动到Key2中
参数:srcKey dstKey member
返回值:true or false
范例
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->delete('test1'); $redis->sadd('test','111'); $redis->sadd('test','333'); $redis->sadd('test1','222'); $redis->sadd('test1','444'); $redis->smove('test',"test1",'111'); print_r($redis->sort('test1')); //结果:Array ( [0] => 111 [1] => 222 [2] => 444 ) ?>
21,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','112'); $redis->sadd('test','113'); var_dump($redis->scontains('test', '111')); //结果:bool(true) ?>
22,ssize
描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','112'); echo $redis->ssize('test'); //结果:2 ?>
23,spop[可实现随机抽奖功能]
描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); var_dump($redis->spop("test")); //结果:string(3) "333" ?>
24,sinter
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1, key2, keyN
返回值:成功返回数组交集,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinter("test","test1")); //结果:array(1) { [0]=> string(3) "111" } ?>
25,sinterstore
描述:执行sInter命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinterstore('new',"test","test1")); //结果:int(1) var_dump($redis->smembers('new')); //结果:array(1) { [0]=> string(3) "111" } ?>
26,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); print_r($redis->sunion("test","test1")); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?>
27,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinterstore('new',"test","test1")); //结果:int(4) print_r($redis->smembers('new')); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?>
28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果【排除第一个数组中,和后续数据重复的值】
参数:Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); print_r($redis->sdiff("test","test1")); //结果:Array ( [0] => 222 [1] => 333 ) ?>
29,sdiffstore
描述:执行sdiff命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis
返回值:成功返回数字,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sdiffstore('new',"test","test1")); //结果:int(2) print_r($redis->smembers('new')); //结果:Array ( [0] => 222 [1] => 333 ) ?>
30,smembers, sgetmembers
描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); print_r($redis->smembers('test')); //结果:Array ( [0] => 111 [1] => 222 ) ?>
31,close
描述:释放资源
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->close() ?>
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci php操作redis的常用方法有哪些. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

Redis menggunakan jadual hash untuk menyimpan data dan menyokong struktur data seperti rentetan, senarai, jadual hash, koleksi dan koleksi yang diperintahkan. Redis berterusan data melalui snapshots (RDB) dan menambah mekanisme tulis sahaja (AOF). Redis menggunakan replikasi master-hamba untuk meningkatkan ketersediaan data. Redis menggunakan gelung acara tunggal untuk mengendalikan sambungan dan arahan untuk memastikan atom dan konsistensi data. Redis menetapkan masa tamat tempoh untuk kunci dan menggunakan mekanisme memadam malas untuk memadamkan kunci tamat tempoh.

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Langkah-langkah untuk menyelesaikan masalah yang tidak dapat dijumpai oleh Redis-Server: periksa pemasangan untuk memastikan Redis dipasang dengan betul; Tetapkan pembolehubah persekitaran redis_host dan redis_port; Mulakan Redis Server Redis-server; Semak sama ada pelayan sedang menjalankan ping redis-cli.

Untuk melihat semua kunci di Redis, terdapat tiga cara: Gunakan perintah kunci untuk mengembalikan semua kunci yang sepadan dengan corak yang ditentukan; Gunakan perintah imbasan untuk melangkah ke atas kunci dan kembalikan satu set kunci; Gunakan arahan maklumat untuk mendapatkan jumlah kunci.
