Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit92dd256

Browse files
ImplementVISMEMBER command.
1 parentc4b2ea6 commit92dd256

File tree

9 files changed

+71
-16
lines changed

9 files changed

+71
-16
lines changed

‎redis.c‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3196,6 +3196,10 @@ PHP_METHOD(Redis, vinfo) {
31963196
REDIS_PROCESS_KW_CMD("VINFO",redis_key_cmd,redis_vinfo_reply);
31973197
}
31983198

3199+
PHP_METHOD(Redis,vismember) {
3200+
REDIS_PROCESS_KW_CMD("VISMEMBER",redis_kv_cmd,redis_long_response);
3201+
}
3202+
31993203
PHP_METHOD(Redis,vemb) {
32003204
REDIS_PROCESS_CMD(vemb,redis_vemb_reply);
32013205
}

‎redis.stub.php‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4270,6 +4270,16 @@ public function vdim(string $key): Redis|int|false;
42704270
*/
42714271
publicfunctionvinfo(string$key):Redis|array|false;
42724272

4273+
/**
4274+
* Check if an element is a member of a vectorset
4275+
*
4276+
* @param string $key The vector set to query.
4277+
* @param mixed $member The member to check for.
4278+
*
4279+
* @return Redis|int|false 1 if the member exists, 0 if it does not.
4280+
*/
4281+
publicfunctionvismember(string$key,mixed$member):Redis|int|false;
4282+
42734283
/**
42744284
* Get the embeddings for a specific member
42754285
*

‎redis_arginfo.h‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash:8f05c875df78af256842222b4116f34dad1930d0 */
2+
* Stub hash:44ceaf06991ed7aa445c0106df591416a9437a77 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct,0,0,0)
55
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0,options,IS_ARRAY,1,"null")
@@ -1082,6 +1082,11 @@ ZEND_END_ARG_INFO()
10821082

10831083
#definearginfo_class_Redis_vinfo arginfo_class_Redis_getWithMeta
10841084

1085+
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_vismember,0,2,Redis,MAY_BE_LONG|MAY_BE_FALSE)
1086+
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
1087+
ZEND_ARG_TYPE_INFO(0,member,IS_MIXED,0)
1088+
ZEND_END_ARG_INFO()
1089+
10851090
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_vemb,0,2,Redis,MAY_BE_ARRAY|MAY_BE_FALSE)
10861091
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
10871092
ZEND_ARG_TYPE_INFO(0,member,IS_MIXED,0)
@@ -1093,10 +1098,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_vrandmember, 0,
10931098
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0,count,IS_LONG,0,"0")
10941099
ZEND_END_ARG_INFO()
10951100

1096-
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_vrem,0,2,Redis,MAY_BE_LONG|MAY_BE_FALSE)
1097-
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
1098-
ZEND_ARG_TYPE_INFO(0,member,IS_MIXED,0)
1099-
ZEND_END_ARG_INFO()
1101+
#definearginfo_class_Redis_vrem arginfo_class_Redis_vismember
11001102

11011103
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_vsetattr,0,3,Redis,MAY_BE_LONG|MAY_BE_FALSE)
11021104
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
@@ -1198,7 +1200,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_zRandMember, 0,
11981200
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0,options,IS_ARRAY,1,"null")
11991201
ZEND_END_ARG_INFO()
12001202

1201-
#definearginfo_class_Redis_zRankarginfo_class_Redis_vrem
1203+
#definearginfo_class_Redis_zRankarginfo_class_Redis_vismember
12021204

12031205
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_zRem,0,2,Redis,MAY_BE_LONG|MAY_BE_FALSE)
12041206
ZEND_ARG_TYPE_INFO(0,key,IS_MIXED,0)
@@ -1242,7 +1244,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_zRevRangeByScore
12421244
ZEND_ARG_TYPE_MASK(0,options,MAY_BE_ARRAY|MAY_BE_BOOL,"[]")
12431245
ZEND_END_ARG_INFO()
12441246

1245-
#definearginfo_class_Redis_zRevRankarginfo_class_Redis_vrem
1247+
#definearginfo_class_Redis_zRevRankarginfo_class_Redis_vismember
12461248

12471249
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_zScore,0,2,Redis,MAY_BE_DOUBLE|MAY_BE_FALSE)
12481250
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
@@ -1529,6 +1531,7 @@ ZEND_METHOD(Redis, vsim);
15291531
ZEND_METHOD(Redis,vcard);
15301532
ZEND_METHOD(Redis,vdim);
15311533
ZEND_METHOD(Redis,vinfo);
1534+
ZEND_METHOD(Redis,vismember);
15321535
ZEND_METHOD(Redis,vemb);
15331536
ZEND_METHOD(Redis,vrandmember);
15341537
ZEND_METHOD(Redis,vrem);
@@ -1816,6 +1819,7 @@ static const zend_function_entry class_Redis_methods[] = {
18161819
ZEND_ME(Redis,vcard,arginfo_class_Redis_vcard,ZEND_ACC_PUBLIC)
18171820
ZEND_ME(Redis,vdim,arginfo_class_Redis_vdim,ZEND_ACC_PUBLIC)
18181821
ZEND_ME(Redis,vinfo,arginfo_class_Redis_vinfo,ZEND_ACC_PUBLIC)
1822+
ZEND_ME(Redis,vismember,arginfo_class_Redis_vismember,ZEND_ACC_PUBLIC)
18191823
ZEND_ME(Redis,vemb,arginfo_class_Redis_vemb,ZEND_ACC_PUBLIC)
18201824
ZEND_ME(Redis,vrandmember,arginfo_class_Redis_vrandmember,ZEND_ACC_PUBLIC)
18211825
ZEND_ME(Redis,vrem,arginfo_class_Redis_vrem,ZEND_ACC_PUBLIC)

‎redis_cluster.c‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3200,6 +3200,10 @@ PHP_METHOD(RedisCluster, vinfo) {
32003200
CLUSTER_PROCESS_KW_CMD("VINFO",redis_key_cmd,cluster_vinfo_resp,1);
32013201
}
32023202

3203+
PHP_METHOD(RedisCluster,vismember) {
3204+
CLUSTER_PROCESS_KW_CMD("VISMEMBER",redis_kv_cmd,cluster_1_resp,1);
3205+
}
3206+
32033207
PHP_METHOD(RedisCluster,vemb) {
32043208
CLUSTER_PROCESS_CMD(vemb,cluster_vemb_resp,1);
32053209
}

‎redis_cluster.stub.php‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,6 +1088,16 @@ public function vdim(string $key): RedisCluster|int|false;
10881088
*/
10891089
publicfunctionvinfo(string$key):RedisCluster|array|false;
10901090

1091+
/**
1092+
* Check if an element is a member of a vectorset
1093+
*
1094+
* @param string $key The vector set to query.
1095+
* @param mixed $member The member to check for.
1096+
*
1097+
* @return RedisCluster|int|false 1 if the member exists, 0 if it does not.
1098+
*/
1099+
publicfunctionvismember(string$key,mixed$member):RedisCluster|int|false;
1100+
10911101
/**
10921102
* @see Redis::vemb
10931103
*/

‎redis_cluster_arginfo.h‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash:35039adc623aee3961fc81995fa53a73ac698ffe */
2+
* Stub hash:3a4992567c20fe852dfd0351625314e82ccec30a */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct,0,0,1)
55
ZEND_ARG_TYPE_INFO(0,name,IS_STRING,1)
@@ -898,6 +898,11 @@ ZEND_END_ARG_INFO()
898898

899899
#definearginfo_class_RedisCluster_vinfo arginfo_class_RedisCluster_getWithMeta
900900

901+
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_vismember,0,2,RedisCluster,MAY_BE_LONG|MAY_BE_FALSE)
902+
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
903+
ZEND_ARG_TYPE_INFO(0,member,IS_MIXED,0)
904+
ZEND_END_ARG_INFO()
905+
901906
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_vemb,0,2,RedisCluster,MAY_BE_ARRAY|MAY_BE_FALSE)
902907
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
903908
ZEND_ARG_TYPE_INFO(0,member,IS_MIXED,0)
@@ -909,10 +914,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_vrandmemb
909914
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0,count,IS_LONG,0,"0")
910915
ZEND_END_ARG_INFO()
911916

912-
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_vrem,0,2,RedisCluster,MAY_BE_LONG|MAY_BE_FALSE)
913-
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
914-
ZEND_ARG_TYPE_INFO(0,member,IS_MIXED,0)
915-
ZEND_END_ARG_INFO()
917+
#definearginfo_class_RedisCluster_vrem arginfo_class_RedisCluster_vismember
916918

917919
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_vlinks,0,2,RedisCluster,MAY_BE_ARRAY|MAY_BE_FALSE)
918920
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
@@ -1102,7 +1104,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrangebys
11021104
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0,options,IS_ARRAY,0,"[]")
11031105
ZEND_END_ARG_INFO()
11041106

1105-
#definearginfo_class_RedisCluster_zrankarginfo_class_RedisCluster_vrem
1107+
#definearginfo_class_RedisCluster_zrankarginfo_class_RedisCluster_vismember
11061108

11071109
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrem,0,2,RedisCluster,MAY_BE_LONG|MAY_BE_FALSE)
11081110
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
@@ -1127,7 +1129,7 @@ ZEND_END_ARG_INFO()
11271129

11281130
#definearginfo_class_RedisCluster_zrevrangebyscore arginfo_class_RedisCluster_zrevrange
11291131

1130-
#definearginfo_class_RedisCluster_zrevrankarginfo_class_RedisCluster_vrem
1132+
#definearginfo_class_RedisCluster_zrevrankarginfo_class_RedisCluster_vismember
11311133

11321134
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zscan,0,2,RedisCluster,MAY_BE_BOOL|MAY_BE_ARRAY)
11331135
ZEND_ARG_TYPE_INFO(0,key,IS_STRING,0)
@@ -1369,6 +1371,7 @@ ZEND_METHOD(RedisCluster, vsim);
13691371
ZEND_METHOD(RedisCluster,vcard);
13701372
ZEND_METHOD(RedisCluster,vdim);
13711373
ZEND_METHOD(RedisCluster,vinfo);
1374+
ZEND_METHOD(RedisCluster,vismember);
13721375
ZEND_METHOD(RedisCluster,vemb);
13731376
ZEND_METHOD(RedisCluster,vrandmember);
13741377
ZEND_METHOD(RedisCluster,vrem);
@@ -1624,6 +1627,7 @@ static const zend_function_entry class_RedisCluster_methods[] = {
16241627
ZEND_ME(RedisCluster,vcard,arginfo_class_RedisCluster_vcard,ZEND_ACC_PUBLIC)
16251628
ZEND_ME(RedisCluster,vdim,arginfo_class_RedisCluster_vdim,ZEND_ACC_PUBLIC)
16261629
ZEND_ME(RedisCluster,vinfo,arginfo_class_RedisCluster_vinfo,ZEND_ACC_PUBLIC)
1630+
ZEND_ME(RedisCluster,vismember,arginfo_class_RedisCluster_vismember,ZEND_ACC_PUBLIC)
16271631
ZEND_ME(RedisCluster,vemb,arginfo_class_RedisCluster_vemb,ZEND_ACC_PUBLIC)
16281632
ZEND_ME(RedisCluster,vrandmember,arginfo_class_RedisCluster_vrandmember,ZEND_ACC_PUBLIC)
16291633
ZEND_ME(RedisCluster,vrem,arginfo_class_RedisCluster_vrem,ZEND_ACC_PUBLIC)

‎redis_cluster_legacy_arginfo.h‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash:35039adc623aee3961fc81995fa53a73ac698ffe */
2+
* Stub hash:3a4992567c20fe852dfd0351625314e82ccec30a */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct,0,0,1)
55
ZEND_ARG_INFO(0,name)
@@ -761,6 +761,8 @@ ZEND_END_ARG_INFO()
761761

762762
#definearginfo_class_RedisCluster_vinfo arginfo_class_RedisCluster__prefix
763763

764+
#definearginfo_class_RedisCluster_vismember arginfo_class_RedisCluster_hexists
765+
764766
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_vemb,0,0,2)
765767
ZEND_ARG_INFO(0,key)
766768
ZEND_ARG_INFO(0,member)
@@ -1201,6 +1203,7 @@ ZEND_METHOD(RedisCluster, vsim);
12011203
ZEND_METHOD(RedisCluster,vcard);
12021204
ZEND_METHOD(RedisCluster,vdim);
12031205
ZEND_METHOD(RedisCluster,vinfo);
1206+
ZEND_METHOD(RedisCluster,vismember);
12041207
ZEND_METHOD(RedisCluster,vemb);
12051208
ZEND_METHOD(RedisCluster,vrandmember);
12061209
ZEND_METHOD(RedisCluster,vrem);
@@ -1456,6 +1459,7 @@ static const zend_function_entry class_RedisCluster_methods[] = {
14561459
ZEND_ME(RedisCluster,vcard,arginfo_class_RedisCluster_vcard,ZEND_ACC_PUBLIC)
14571460
ZEND_ME(RedisCluster,vdim,arginfo_class_RedisCluster_vdim,ZEND_ACC_PUBLIC)
14581461
ZEND_ME(RedisCluster,vinfo,arginfo_class_RedisCluster_vinfo,ZEND_ACC_PUBLIC)
1462+
ZEND_ME(RedisCluster,vismember,arginfo_class_RedisCluster_vismember,ZEND_ACC_PUBLIC)
14591463
ZEND_ME(RedisCluster,vemb,arginfo_class_RedisCluster_vemb,ZEND_ACC_PUBLIC)
14601464
ZEND_ME(RedisCluster,vrandmember,arginfo_class_RedisCluster_vrandmember,ZEND_ACC_PUBLIC)
14611465
ZEND_ME(RedisCluster,vrem,arginfo_class_RedisCluster_vrem,ZEND_ACC_PUBLIC)

‎redis_legacy_arginfo.h‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash:8f05c875df78af256842222b4116f34dad1930d0 */
2+
* Stub hash:44ceaf06991ed7aa445c0106df591416a9437a77 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct,0,0,0)
55
ZEND_ARG_INFO(0,options)
@@ -962,6 +962,8 @@ ZEND_END_ARG_INFO()
962962

963963
#definearginfo_class_Redis_vinfo arginfo_class_Redis__prefix
964964

965+
#definearginfo_class_Redis_vismember arginfo_class_Redis_hGet
966+
965967
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_vemb,0,0,2)
966968
ZEND_ARG_INFO(0,key)
967969
ZEND_ARG_INFO(0,member)
@@ -1364,6 +1366,7 @@ ZEND_METHOD(Redis, vsim);
13641366
ZEND_METHOD(Redis,vcard);
13651367
ZEND_METHOD(Redis,vdim);
13661368
ZEND_METHOD(Redis,vinfo);
1369+
ZEND_METHOD(Redis,vismember);
13671370
ZEND_METHOD(Redis,vemb);
13681371
ZEND_METHOD(Redis,vrandmember);
13691372
ZEND_METHOD(Redis,vrem);
@@ -1651,6 +1654,7 @@ static const zend_function_entry class_Redis_methods[] = {
16511654
ZEND_ME(Redis,vcard,arginfo_class_Redis_vcard,ZEND_ACC_PUBLIC)
16521655
ZEND_ME(Redis,vdim,arginfo_class_Redis_vdim,ZEND_ACC_PUBLIC)
16531656
ZEND_ME(Redis,vinfo,arginfo_class_Redis_vinfo,ZEND_ACC_PUBLIC)
1657+
ZEND_ME(Redis,vismember,arginfo_class_Redis_vismember,ZEND_ACC_PUBLIC)
16541658
ZEND_ME(Redis,vemb,arginfo_class_Redis_vemb,ZEND_ACC_PUBLIC)
16551659
ZEND_ME(Redis,vrandmember,arginfo_class_Redis_vrandmember,ZEND_ACC_PUBLIC)
16561660
ZEND_ME(Redis,vrem,arginfo_class_Redis_vrem,ZEND_ACC_PUBLIC)

‎tests/RedisTest.php‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7754,6 +7754,17 @@ public function testVInfo() {
77547754
$this->assertEquals(1,$this->redis->del('v'));
77557755
}
77567756

7757+
publicfunctiontestVIsMember() {
7758+
if ( !$this->minVersionCheck('8.0'))
7759+
$this->markTestSkipped();
7760+
7761+
$this->assertIsInt($this->redis->del('v'));
7762+
$this->assertEquals(1,$this->redis->vadd('v', [0.5,1.0],'exists'));
7763+
7764+
$this->assertEquals(1,$this->redis->vismember('v','exists'));
7765+
$this->assertEquals(0,$this->redis->vismember('v','doesnotexist'));
7766+
}
7767+
77577768
publicfunctiontestVEmb() {
77587769
if ( !$this->minVersionCheck('8.0'))
77597770
$this->markTestSkipped();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp