自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 memcached_get

一、memcached_get内部只是调用memcached_get_by_key(ptr, NULL, 0, key, key_length, value_length, flags, error)。memcached_get_by_key()内部主要调用memcached_mget_by_key_real()和memcached_fetch()。之后,它还会调用一次针对dummy的me

2013-11-30 22:13:40 2892

原创 细说memcached_set

一、memcached_set在设置好memcached_st之后,就调用memcached_set(memcached_st *ptr, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags),它内部只是调用memcached_

2013-11-29 10:22:58 4682 1

原创 libmemcached的执行流程

一、测试程序// libmemcached_test.c #include #include #include #include int main(void) { memcached_st *memc; memcached_server_st *servers = NULL; memcached_return rc; const char* server_lis

2013-11-28 00:23:24 1408

原创 关联式容器-基于hash

5.7 hashtable1、碰撞问题的解决线性探测:负载系数在0-1之间(元素个数除以表格大小)。二次探测:如果位置已被占用,则依序尝试H+1^2, H+2^2, ... , H+i^2,而不是像线性探测那样尝试H+1, H+2 ... , H+i。开链法:负载系数大于1。2、哈希表的bucket和nodetemplate struct __hashtable_

2013-11-27 11:31:10 619

原创 libmemcached的头文件

一、第一部分这一部分的头文件可以提供给外部client使用。1、#include 该文件被client包含,该文件中只是进一步#include 。libmemcached-1.0/memcached.h:包含了libmemcached-1.0下的所有头文件,并包含libhashkit-1.0/hashkit.h。#pragma once //与#ifndef方式作用相同,但是

2013-11-26 21:13:56 1453

原创 libmemcached的调试

1、libmemcached的调试libmemcached的版本:1.0.3./configure之后将Makefile中的CFLAGS、CPPFLAGS、CXXFLAGS都加上-g -O0之后就可以使用gdb进行调试了。2、测试主程序这个程序是从别处拷贝来的。#include #include #include using namespace std;

2013-11-26 15:25:12 662

原创 Memcached的item和slab

Memcached的数据结构1、先上源码item是存储数据的最小单位。typedef struct _stritem { //Structure for storing items within memcached. struct _stritem *next; struct _stritem *prev; struct _stritem *h

2013-11-25 23:50:37 1113

原创 5 关联式容器-set map multiset multimap

5.3 setset、multiset、map、maltimap都是以RB-tree为基础。为了效率,尽量使用成员函数find等,而不是STL算法。不能通过set的迭代器改变set的元素值,以防破坏排序规则。// 如果编译器不能根据前面模板参数推导出后面使用的默认参数类型,// 那么就需要手工指定, 本实作set内部元素默认使用less进行比较// 内部维护的数据结构是红黑树, 具有非

2013-11-24 18:25:18 663

原创 5 关联式容器——预备知识

5.1 树1、二叉搜索树任何节点的键值一定大于其左子树的每一个节点的键值,并小于其右子树的每一个节点的键值。插入:插入新元素时,从根节点开始,遇键值较大就向左,遇到键值较小者就向右,一直到尾端,即为插入点。删除:分两种情况。如果A只有一个子节点,就直接将A的子节点连至A的父节点,并将A删除。如果A有两个子节点,就以右子树内的最小节点取代A(右子树的最小节点为:从右子节点开始,一直向

2013-11-24 00:02:53 751

原创 memcached的连接处理

一、相关结构enum conn_states { conn_listening, /**< the socket which listens for connections */ conn_new_cmd, /**< Prepare connection for next command */ conn_waiting, /**< waiting for

2013-11-21 22:21:49 2089

原创 memcached的执行流程

memcached的执行流程1、libevent的使用方法初始化   main_base = event_init();  //多孔插座事件设置 event_set(&ev, listen_fd, EV_READ | EV_PERSIST, cb, *arg) //设置灯泡                  event_base_set(main_base, &ev);//设置灯泡

2013-11-20 00:18:49 974

原创 4 序列式容器(续)——container adapter

4.5 stacktemplate >class stack { // 以㆘的__STL_NULL_TMPL_ARGS 會開展為<>,見1.9.1 節 friend bool operator==__STL_NULL_TMPL_ARGS (const stack&, const stack&); friend bool operator<__STL_NULL_TMPL_ARG

2013-11-19 09:55:43 941

原创 4 序列式容器

4 序列式容器4.2 vectortemplate class vector{ ... protected: iterator start; // 表示目前使用空間的頭 iterator finish; // 表示目前使用空間的尾 iterator end_of_storage;// 表示目前可用空間的尾 ...};成员函数举例:注意其中的内存管理

2013-11-13 15:00:39 503

原创 memcached的头文件

memcached的头文件(持续更新)

2013-11-12 16:44:27 980

转载 Linux epoll模型

Linux epoll模型转载自:http://www.cnblogs.com/venow/archive/2012/11/30/2790031.html定义:  epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合

2013-11-06 20:53:59 616

原创 3 迭代器与概念和traits编程技法

3 迭代器与概念和traits编程技法每一种STL容器都有其专属迭代器。 3.4 Traits编程技法——STL源代码门钥template struct iterator_traits{ typedef typename I::iterator_category iterator_category; typedef typename I::value_type val

2013-11-06 10:14:59 537

原创 2 空间配置器

2 空间配置器2.2 具备次配置力的SGI空间配置器SGI STL缺省使用alloc为配置器,而不是采用标准写法allocator,前者效率更高。1、构造和析构基本工具:constuct()和destroy()——(内部包含头文件,用于placement new)constuct()接受一个指针p和一个初值value,将初值设定到指针所指的空间上。destroy()有两个版

2013-11-03 16:44:04 547

[计算机网络第五版]计算机网络第五版.pdf

计算机网络第五版,pdf格式,内容清晰。

2012-09-17

于渊——自己动手写操作系统(第二版)光盘源代码.rar

该文档中包含了《自己动手写操作系统》(于渊)这本书中各章节的源代码,层层递进,非常详实。

2012-09-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除