Redis的概述
Redis,全称(Remote Dictionary Server)远程字典服务,是一款基于键值对(key:value)的NoSQL数据库,能 提供多种API。
它的值支持多种数据结构:
1.字符串(strings)
2.哈希(hashes)
3.列表(lists)
4.集合(sets)
5.有序集合(sorted sets)。
关于key值:
- key不要太长,尽量不要超过1024字节,这不仅消耗内存,而且会降低查找的效率
- key也不要太短,太短的话,key的可读性会降低
- 在一个项目中,key最好使用统一的命名模式,例如user:1000
传统数据库问题:
传统数据库:持久化存储数据。
solr索引库:大量的数据的检索。
在实际开发中,高并发环境下,不同的用户会需要相同的数据。因为每次请求,
在后台我们都会创建一个线程来处理,这样造成,同样的数据从数据库中查询了N次。
而数据库的查询本身是IO操作,效率低,频率高也不好。
总而言之,一个网站总归是有大量的数据是用户共享的,但是如果每个用户都去数据库查询,效率就太低了。
Redis解决:
将用户共享数据缓存到服务器的内存中。
Redis特点
- Redis将所有的数据都存放在内存中,它的读写能力十分快,用作数据库,缓存和消息代理。
- Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过Redis sentinel和Redis cluster自动分区提供了高可用性。
- Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等。
- 可作为分布式锁
redis和mysql的区别
1.数据类型不同
mysql
是关系型数据库,数据都存储在硬盘中,读取速度慢,但可以长期存放。
redis
是非关系型数据库,数据存储在缓存中,读取速度快,但保存时间有限。
2、功能不同
redis数据库性能更好,mysql数据库安全性更高,在实际开发中,经常会配合使用两种数据库。
先暂时了解这些,后面在补~~