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星
用户评分:
发表评论

评论

  • 暂无评论信息