共享区的使用 – NoSql初步


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58

1,商务通存数据,一种方式是存放到数据库中,客户的录入的信息存放数据库,然后客服端定时读取。这种的频繁对数据库的读写,且数据在磁盘上,速度、效率很有影响。另一种方式是在内存中设置一共享区如建立一static List集合,客户端向里面存,客服取,共同维护这一共享区,然后定时将此共享区的内容存入数据库即可。
至于客服端与服务器进行静态类共享的问题(即客服端与服务器共享服务器内存),可以利用web service来解决。在客户端点应用程序中添加服务器端的webservice,会自动引用服务器的命名空间,然后直接使用类即可。因为此类指定静态的,故做到了共享。 可参见PowerTalk的聊天信息存读方式。

即共享区用:static + webservice构造,static负责共享,webservice负责同一

Web Service本身其实是在实现应用程序间的通信。
客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。:服务器暴露出远程对象的接口,客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。

2, 将数据存放到内存中定时转储的方式属于NOSQL,代表之一Redis
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。