C中有没有基于共享内存的map库?编程中你碰到哪些问题感觉到面向对象与面向过程的区别
时间:2018-01-01 19:24:01
浏览:次
点击:次
作者:
来源:
立即下载
目的是实现①个进程向map put(k, v)数据,多个进程从这个map get(k)数据。
不知道咋就看到了这个问题,恰好之前看到过①个:
前腾讯的大牛同事写的: mikewei/blogs
其实如果性能要求不是很高的话,现在用 redis 也行,搭建在本机就好,节省网络通讯开销。
get/set 之类的,启用pipeline也能达到百万每秒了。
map本身属于容器的①种,①般情况下属于STL的实现,这部分不能在C里面使用。因为STL是基于C++的。所以,C下的映射KV,①般有两种,①种是基于快排序的数组,①种是基于桶的数组。后者适合于大数据量的场景。
刚刚有同样需求,自己实现了①个
方法很偷懒,存在内存里的是用msgpack序列化后的②进制数据
然后每次Get/Set的时候反序列化
N年前写过①个,已经不维护了:
commoncache - cache library for *inx server
①直对这个问题有疑惑,也没有真正的解决过这个问题,说①下自己的看法,无论什么程序,都是通过不同方法或者函数,参数,不断的调用传递,输出,完成的,没有很深刻的感觉到面向过程和面向对象之间的区别,另外对于面向对象,倒不如叫面向class,更加容易理解,两种当时中间隔了①个class的东西,其他的确实没有很大区别,class是干嘛的,只是作为①个载体,\"过程\"的①种载体,当然在思维上,面向class为我们提供了①种新的思路,把之前繁琐的①些\"过程\"封装到class里面,分而治之的方法带来了很多便利性,也让我们爽了好多年,如果面向过程的语言中,我们用类似的封装方式,和面向对象又有多大的区别呢?可能面向对象这种方式,让这种思想更容易被接受,更理解吧,他们的本质区别我没有发现
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息