您现在的位置是:课程
【赵强老师】Redis简介和安装配置
2023-06-29 21:13课程 人已围观
什么是Redis?
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。与Memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis是一个高性能的key-value数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了多种方式(如Java和C)客户端,使用很方便。
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。
Redis与MemCached的区别
-
Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;
-
Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
-
虚拟内存:Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;
-
过期策略:memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;
-
分布式:设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;
-
存储数据安全:memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
-
灾难恢复:memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;
-
Redis支持数据的备份,即master-slave模式的数据备份;
-
应用场景不一样:Redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和session等