redis 学习

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、一个高性能的key-value数据库。并提供多种语言的API。说到Key-Value数据库NoSQL数据库可以想到MongoDB。

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

MemcacheRedis区别

Memcache提供的数据类型少,只有键值对,Redis提供的数据类型相对较多

Memcache关机就没了,数据全部存到内存当中,但是没有提供故障恢复,Redis可以将数据存储到磁盘中

redis提供主从复制,Memcache

Memcache是多线程的(使用协议解决的),redis是单线程

Redis 单个value最大限制是1G,而Memcache最大是1M数据

在操作过程中,Redis通过快照(snapshotting)方式默认保存到硬盘中,Redis默认会将快照文件存储在当前目录(可CONFIG GETdir来查看)的dump.rdb文件中,可以通过配置dir和dbfilename两个参数分别指定快照文件的存储路径和文件名。

原文地址:https://www.cnblogs.com/huangjianping/p/7213838.html