redis是一个key-value存储系统.和memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.
在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.
redis的优点:
性能极高 – redis能支持超过 100k+ 每秒的读写频率。
丰富的数据类型 – redis支持二进制案例的 strings, lists, hashes, sets 及 ordered sets 数据类型操作。
原子 – redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性执行。
丰富的特性 – redis还支持 publish/subscribe, 通知, key 过期等等特性。
下面是官方的bench-mark数据:
测试完成了50个并发执行100000个请求。
设置和获取的值是一个256字节字符串。
linux box是运行linux 2.6,这是x3320 xeon 2.5 ghz。
文本执行使用loopback接口(127.0.0.1)。
结果:写的速度是110000次/s,读的速度是81000次/s 。
以上就是redis工作原理是什么的详细内容。