Artikel ini akan membawa anda memahami senarai terpaut dua kali dalam struktur data Redis, dan secara ringkas memperkenalkan penggunaan senarai terpaut dua kali saya harap ia akan membantu semua orang.
Dalam senarai dalam jenis data Redis, arahan yang biasa digunakan untuk menambah dan memadam data termasuk lpush, rpush, lpop, rpop, di mana l Ia bermakna di sebelah kiri, r bermaksud di sebelah kanan Anda boleh menambah dan memadam operasi di sebelah kiri dan kanan, menunjukkan bahawa ini ialah struktur data dua hala, dan struktur data senarai ialah senarai berganda, serupa dengan. LinekdList di Jawa. [Cadangan berkaitan: Tutorial video Redis]
Senarai terpaut menyediakan keupayaan penyusunan semula nod yang cekap, serta kaedah capaian nod berjujukan Data senarai terpaut boleh diubah suai dengan mengubah suai pra dan petunjuk seterusnya bagi nod .
Bahasa C tidak mempunyai struktur data senarai terpaut terbina dalam, jadi Redis membina struktur senarai terpautnya sendiri.
Senarai terpaut terdiri daripada senarai terpaut dan nod senarai terpaut Setiap nod senarai terpaut diwakili oleh adlist.h /listNode struktur :
typedef struct listNode { //前置节点 struct listNode *prev; //后置节点 struct listNode *next; // 节点值 void *value; } listNode;
Senarai berbilangNod boleh membentuk senarai berganda melalui petunjuk sebelumnya dan seterusnya, seperti yang ditunjukkan dalam tajuk:
Berbilang senaraiNod boleh membentuk senarai terpaut, Walau bagaimanapun, untuk memudahkan pengurusan, gunakan adlist.h/list untuk mengurus senarai terpaut adalah seperti berikut:
typedef struct list { // 列表头结点 listNode *head; // 列表尾结构 listNode *tail; // 节点值复制函数 void *(*dup)(void *ptr); // 节点值释放函数 void (*free)(void *ptr); // 节点值对比函数 int (*match)(void *ptr, void *key); // 列表节点数量 unsigned long len; } list;
struktur senarai menyediakan kepala penunjuk kepala, ekor penunjuk ekor, dan Bilangan nod dikira sebagai len. Rajah berikut menunjukkan senarai terpaut yang terdiri daripada struktur senarai dan tiga nod senaraiNod:
Ciri-ciri pelaksanaan senarai terpaut Redis diringkaskan seperti berikut:
Kekunci senarai, Terbit dan langgan, pertanyaan perlahan, monitor, dsb.
Atas ialah kandungan terperinci Mari kita bincangkan secara mendalam tentang senarai pautan berganda dalam Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!