Redis学习心得-Redis简介

Redis简介

什么是nosql?

nosql数据库全称”not only sql“ 简单来说是非关系型数据库(关系型数据库这里不介绍了),主要是为解决大数据集合,数据种类繁多,尤其是大数据应用难题。

nosql数据库分类?

键值存储数据库(key-value):这类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据,key/value模型相对于IT系统来说的优势在与简单,易部署,缺点只对部分值进行查询或更新的时候,key/valuse就会显得效率低下。代表数据库:redis,oracle bdb.
列存储数据库 :这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列,而不是单一的值。一般是有这些列家族来安排。代表数据库:HBase,riak.
文档型数据库:文档性数据库的灵感是来自于lotus notes办公软件,而且它同第一种键值存储相类似,是通过以版本化的文档,半结构化的文档用特定的格式存储,可以看做是键值存储数据库的升级版,允许之间嵌套键值,而且文档型数据库比键值数据库查询效率更高。代表数据库:couchdb,mongodb,但是支持类型不丰富。
图形数据库:简单来说以灵活图形模型存储数据库,并且可以拓展到多个服务器上。如:N而oJ

什么是redis?

redis是完全开源免费,遵守BSD协议,是一个高性能(nosql)的key-valuse数据库。使用ANSI c语言编写、支持网络、可基于内存亦可持久化的日志型、key-valuse数据库。
同时也是一个简单的,高效的,分布式,基于内存的缓存工具。架设好服务器之后,通过网络连接(类似mysql连接),提供key-vlause式缓存服务。简单是redis的特色,又保证核心功能的稳定和优异。

Redis优缺点

优点:
丰富的数据结构
高速读写,Redis使用自己实现的分离器具有代码量短,没有使用lock(Mysql),因此效率高
缺点:
持久化:Redis直接将数据存储到内存中,要将数据保存到磁盘上,可以通过2种方法实现持久性过程。一是定时快照,每隔一段时间将整个数据库写到磁盘上,每次均是写满数据,代价非常高。二是基于语句追加(aof),只追踪变化的数据,但是追加的log可能过大,同时所有的操作均重新执行一遍,回复速度慢。
耗内存,占用内存过高。
解决方法:
1.设置数据超时时间
2.设置lru淘汰机制

Redis特性

性能极高:官方给出的测试数据 读 110000次/s 写 81000次/s
丰富的数据类型:Redis支持的类型string、list、hash、set及ordered set数据库操作
原子:Redis的所有操作都是原子性的,意思就是要么成功,要么失败完全不执行。单个操作是原子性的。多个操作也支持事务。
丰富的特性:redis还支持publish/subscribe,通知,key过期等等。

Redis总结

Redis单个key最高存入512M数据
Redis支持多种类型的数据结构
Redis是单线程 原子性
Redis可以持久化 因为使用了rdb和aof机制
redis可以集群 而且redis支持库达到(0-15)16个
redis可以做消息队列 比如聊天室 im
企业级开发中:可以用作数据库,缓存(热点数据(经常会被查询,但是不经常被修改或者删除的数据))和消息中间件大部分功能。

Redis key命名建议

key的命名建议
1.key不要太长,尽量不要超过1024字节,这不仅消耗内存,而且还会降低查找的效率。
2.key也不要太短,太短的话,key的可读性会降低。
3.在一个项目中,key最好使用统一的命名模式 例如:user?passwd
4.key需要注意大小写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值