第三方缓存软件memcached和redis异同
memcached和redis相同点:都是以键值对的形式来存储数据,通俗讲就是一个大的hashtable
缓存数据都是存在内容中 key-value
不同点:
memcached:
1、一个key所对应的值必须要通过客户端序列化成二进制流存储 byte[](缺点,由于序列化反序列化消耗CPU比较大)
2、一个key所对应的值最大只能是1m
3、传统的memcached是不支持内存数据的持久化操作,当服务器重启,数据会丢失
4、可以配置读写分离
5、多线程
redis:
1、一个key对应的值可以是 string,list<>,sortlist<>,Set,OrderdSet,实现队列,免去序列化操作(大大提升了CPU的工作效率)
2、redis可以按照设置策略将内存中的数据持久,化到服务器硬盘,当服务器重启以后自动回从服务器硬盘中将数据重新加载回内存
3、可以配置redis的读写分离
4、单线程
如何通过c#来访问:
memcached和redis都是以服务进程的方式驻留服务器上,同时用socket监听请求,通过流来传输数据
他们都提供了c#客户端访问类库(一组.dll)