面试题
redis和memcache的区别
1.Redis和Memcache都是将数据库存放在内存中,都是内存数据库。不过Memcache还可以用于缓存其他东西,例如图片,视频等。
2.Redis不仅仅支持简单的kv键值对,同时提供了list,set,hash等数据结构的存储。
3.虚拟内存---Redis当物理内存用完时,可以将一些很久没用到的value交换到磁盘。
4.过期策略---memcache在set时就指定, 例如set key1 0 0 8,即永不过期。Redis可以通过例如expire设定, 例如expire name 10
5.分布式----设定memcache集群,利用magent做一主多从;redis可以做一主多从,还可以一主一从。
6.存储数据安全----memcache挂掉后,数据没了(它把数据全部存在于内存之中);redis可以定期保存到磁盘(持久化)
7.灾难回复----memcache挂掉后,数据不可恢复;Redis数据丢失可以通过ao恢复。
8.Redis支持数据的备份,即master-salver模式的数据备份。
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态,数据库驱动网站的速度。
"""
应该说Memcached和Redis都能很好的满足解决我们的问题,它们性能都很高,总的来说,可以把Redis理解为是对Memcached的拓展,是更加重量级的实现,提供了更多更强大的功能。具体来说:
1.性能上:
性能上都很出色,具体到细节,由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比
Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起 Memcached,还是稍有逊色。
2.内存空间和数据量大小:
MemCached可以修改最大内存,采用LRU算法。Redis增加了VM的特性,突破了物理内存的限制。
3.操作便利上:
MemCached数据结构单一,仅用来缓存数据,而Redis支持更加丰富的数据类型,也可以在服务器端直接对数据进行丰富的操作,这样可以减少网络IO次数和数据体积。
4.可靠性上:
MemCached不支持数据持久化,断电或重启后数据消失,但其稳定性是有保证的。Redis支持数据持久化和数据恢复,允许单点故障,但是同时也会付出性能的代价。
5.应用场景:
Memcached:动态系统中减轻数据库负载,提升性能;做缓存,适合多读少写,大数据量的情况(如人人网大量查询用户信息、好友信息、文章信息等)。
Redis:适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统(如新浪微博的计数和微博发布部分系统,对数据安全性、读写要求都很高)。
"""
get和post区别
1.post比get安全,get的参数是直接暴漏在url上
2.get在浏览器回退时是无害的,而post会再次提交请求
3.get产生的url可以被bookmark, 而post不可以
4.get请求的参数是有长度限制的,而post没有
5.get产生一个tcp数据包,post产生两个
6.对于get请求,浏览器会把http header和data一起发出去,对于post浏览器先发送header,服务器响应100浏览器在发送data。
"""
数据查询建议使用get
数据添加修改删除建议使用post
"""
cookie和session的区别
1.存放位置
cookie数据存放在客户的浏览器上,session数据放在服务器上
2.安全程度
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗
3.性能使用程度
session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能
4.数据存储大小
单个cookie保存的数据不能超过4k,而session存储与服务端,浏览器对其没有限制
6.绘画机制
session会话机制:session会话机制是一种服务器端机制,它使用类似于哈希表的结构来保存信息
cookies会话机制:cookie是服务器存储在本地计算机上的小块文本,并随每个请求发送到同一服务器。Web服务器使用Http标头将cookie发送到客户端,在客户端,浏览器解析cookie并将其保存为本地文件,该文件自动将来自同一个服务器的人恶化请求绑定到这些cookie。
在浏览器中输入地址,回车,发生了什么事情
1.DNS解析
实现了网址到ip地址的转换,是一个递归查询的过程
2.TCP连接
三次握手
3.发送HTTP请求
4.服务器处理请求并返回HTTP报文
5.浏览器解析渲染页面
6.连接结束
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。