一、什么是Redis?
Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库),数据保存在内存中。Redis 是以key-value形式存储。
二、Redis的优势?
1.数据保存在内存,存取速度快,并发能力强 2.它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合)和hash(哈希类型)。 3.redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。 4.它提供了Java,C/C++,C#,PHP,JavaScript等客户端,使用很方便。 5.Redis支持集群(主从同步、负载均衡)。数据可以主服务器向任意数量从的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。 6.支持持久化,可以将数据保存在硬盘的文件中 7.支持订阅/发布(subscribe/publish)功能
三、redis基本数据类型
String(字符串):是redis最基本的类型.
示例:set name value 取值:get name 注:(键最大能存储512MB)
Hash(哈希):是一个string类型的field和value的映射表.
示例:HMSET name key value 取值:HGET name key
List(列表):是简单的字符串列表,按照插入顺序排序。
你可以添加一个元素到列表的头部(左边)或者尾部(右边)
示例:LPUSH name value
Set(集合):是string类型的无序集合
示例:SADD name value
zset(有序集合):
示例:ZADD name 下标 value
四、为什么使用redis,什么时候使用?
把经常查询的数据,很少修改的数据存放到缓存中,减少访问数据库,降低数据库压力并且缓存一般都是内存,访问速度比较快。
不需要实时更新但是又极其消耗数据库的数据。
需要实时更新,但是更新频率不高的数据。
在某个时刻访问量极大而且更新也很频繁的数据。
典型场景:用户消息,评论,订单列表、地区数据、商品分类、数据字典 菜单等经常查询或者很少修改的数据