PhpRedis Program and Struct

Redis Developer Course Redis Technical Support Redis Enterprise Server

PHP & Zend

PHP version 7.2.34 -> /usr/include/php
Zend version 3.2.0 -> /usr/include/php/Zend
PhpRedis 5.3.3

목차


redis_string_response()

redis_string_response()는 phpredis -> library.c에 있고, get, lpop, rpop, spop, hget에서 사용합니다.

    PHP_REDIS_API void redis_string_response( INTERNAL_FUNCTION_PARAMETERS,
              RedisSock *redis_sock, zval *z_tab, void *ctx) {
      char *response;
      int response_len;
      if ((response = redis_sock_read(redis_sock, &response_len)) == NULL) {
        if ( IS_ATOMIC(redis_sock)) {
          RETURN_FALSE;
        }
        add_next_index_bool(z_tab, 0);
        return;
      }
      if (IS_ATOMIC(redis_sock)) {
        if (!redis_unpack(redis_sock, response, response_len, return_value)) {
          RETVAL_STRINGL(response, response_len);
        }
      } else {
        zval z_unpacked;
        if (redis_unpack(redis_sock, response, response_len, &z_unpacked)) {
          add_next_index_zval(z_tab, &z_unpacked);
        } else {
          add_next_index_stringl(z_tab, response, response_len);
        }
      }
      efree(response);
    }

    redis_string_response( INTERNAL_FUNCTION_PARAM_PASSTHRU, redis_sock, NULL, NULL);

redis_sock_read()

레디스 응답(reply) 코드에 따른 처리를 볼 수 있다.

INTERNAL_FUNCTION_PARAMETERS

zend.h

ZVAL

zend_types.h

  • WORDS_BIGENDIAN
  • regular data types
  • Z_TYPE_INFO

zend_API.h

  • 1) 배열 인덱스를 지정 specific
  • 2) 배열 다음 next 인덱스 자동 지정
  • 3) 배열 연관 associative 인덱스 지정

PHP_METHOD -> zend_API.h

  • php.h
  • zend_API.h
  • zend_complie.h

PhpRedis

PhpRedis 5.3.3

common.h

  • struct RedisSock
  • Transaction modes
  • REDIS_PROCESS_CMD
  • REDIS_PROCESS_KW_CMD
  • REDIS_PROCESS_REQUEST
  • REDIS_PROCESS_RESPONSE

redis_array.h

  • struct RedisArray

cluster_library.h

  • struct redisClusterNode
  • struct redisCluster


<< Enterprise Program Table >>

패턴으로 값을 조회하고 삭제할 수 있어요.
리스트에서 "lls mylist user*" 이렇게 조회할 수 있구요.
user가 들어간 값들을 삭제하려면 "lrm mylist user*" 이렇게 하면 됩니다.
List에서는 LLS, LRM, Set에서는 SLS, SRM, ZSet에서는 ZLS, ZRM, Hash에서는 HLS, HRM 을 사용하면 됩니다.
게다가 LS는 소트 기능까지 있습니다. 한번 사용해 보세요. ^^
궁금하신 사항이 있으면 여기로 redisgate@gmail.com 메일 주세요.
 
close
IP를 기반으로 보여집니다.