doc/userid

//hash 命中liu 是1.6 ,不知道是个什么意思..好好学学.

用户hash设计

——————————————————————————–

firebird BBS系统查询用户一直使用的是从头到尾遍历整个用户链表的模式
来查找用户,这个在大用户量的情况下是极大的开销。为了解决这个问题,
我设想使用hash表保存用户id索引,加快查找速度。相关的程序在libBBS/ucache.c
和libBBS/utmp.c中实现。
这个函数由我和ttiny@SMTH共同设计,由ttiny@SMTH完成。
我采用的是线性探测再散列的hash表。之所以不用二次探测再散列,是考虑到
当我们的hash_size>2-3倍的max_user的时候,如果选择恰当的hash函数,hash
的命中率可以 0 —
1 1 |
2 ———> 2 |
4

发表评论