2014-04-24 4 views
2

GWAN API 키 - 값을 사용하여 여러 개의 데이터를 기록하고 읽으 려합니다 (다중 스레드 방식으로). 문제는 내 녹음 내용이 현재 페이지에서만 사용 가능하므로 다른 페이지에서는 사용할 수 없다는 것입니다.GWAN 키 - 값 영구 저장소

내 모든 하위 도메인에서 액세스 할 수있는 영구 KV 저장소를 만드는 방법을 보여 주거나 설명하는 방법을 보여줄 수 있습니까? 여기

내가 현재 사용 예는 다음과 같습니다

kv_t store; 
kv_init(&store, "users", 10, 0, 0, 0); 

kv_item item; 
item.key = "pierre"; 
item.klen = sizeof("pierre") - 1; 
item.val = "[email protected]"; 
item.flags = 0; 
kv_add(&store, &item); 

char *p = kv_get(&store, "pierre", sizeof("pierre") - 1); 
xbuf_xcat(get_reply(argv), "<br>pierre's email address: %s<br>", p); 

하지만 지속되지 않습니다.

답변

1

G-WAN 스크립트가 독립적으로 컴파일되고 연결되므로 '글로벌'변수는 모든 스크립트에서 사용할 수있는 것이 아니라 '정적'(각 스크립트마다)입니다.

따라서 영구 포인터에 KV 저장소를 연결해야합니다. G-WAN은 다른 범위와 persistent pointers을 제공합니다

그렇게하는 방법을 보여주는 몇 가지 G-WAN 스크립트 예제가 있습니다
US_REQUEST_DATA = 200, // Request-wide pointer 
US_HANDLER_DATA,  // Listener-wide pointer 
US_VHOST_DATA,   // Virtual-Host-wide pointer 
US_SERVER_DATA,  // global pointer (for maintenance script) 

: 등

+0

감사

http://gwan.ch/source/persistence.c http://gwan.ch/source/stream1.c http://gwan.ch/source/forum.c , 그것은을위한 좋은이 레코드하지만 지금은 다른 상점 이름을 사용하고 싶습니다. 내 새 게시물을 읽어 주시겠습니까? http://stackoverflow.com/questions/23305661/gwan-key-value-persistent-multiple-store –