Redis做数据延期处理管道修改

来源:互联网 发布:淘宝卖烟丝的怎么搜索 编辑:程序博客网 时间:2024/05/16 11:34

  • redis 数据过期数据删除策略:

  • redis 数据过期具体删除位置:

         数据删除位置:在文件 dict.c 文件   static int dictGenericDelete(dict *d, const void *key, int nofree) 函数中;

        

static int dictGenericDelete(dict *d, const void *key, int nofree){    unsigned int h, idx;    dictEntry *he, *prevHe;    int table;    if (d->ht[0].size == 0) return DICT_ERR; /* d->ht[0].table is NULL */    if (dictIsRehashing(d)) _dictRehashStep(d);    h = dictHashKey(d, key);    for (table = 0; table <= 1; table++) {        idx = h & d->ht[table].sizemask;        he = d->ht[table].table[idx];        prevHe = NULL;        while(he) {            if (dictCompareKeys(d, key, he->key)) {                /* Unlink the element from the list */                if (prevHe)                    prevHe->next = he->next;                else                    d->ht[table].table[idx] = he->next;                if (!nofree) {                    dictFreeKey(d, he);                    dictFreeVal(d, he);                    // 数据处理函数                    //dataProce((void *)key);                }                zfree(he);                d->ht[table].used--;                return DICT_OK;            }            prevHe = he;            he = he->next;        }        if (!dictIsRehashing(d)) break;    }    return DICT_ERR; /* not found */}

  • 数据处理服务: 

dataProce((void)*key) 发起PRC 计算的client; 服务端可以依据具体的业务来设计。

较简单的方法是使用nginx 搭建http服务来实现。 实用 php 处理数据。

0 0
原创粉丝点击