redis学习小结

早上时间学习了一下redis的知识,对其有了简单的认知。

redis是什么

    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

按照分布式领域的CAP理论,Consisency、Availability、Toleranceto networkPartitions这三个部分在任何系统架构实现时,只能同时满足其中两点,没法三者兼顾。Redis是一个数据库,它将重点放在了Consisency和Availability上,因而Redis只是一个单机的key/value系统,并不直接支持分布式,同时考虑到Toleranceto network Partitions,它支持将数据同步到多台从库上。


redis的优点

  1. 性能极高 – Redis能读的速度是110000/s,写的速度是81000/s
  2. 丰富的数据类型 – Redis支持二进制案例的Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  3. 原子 –Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  4. 丰富的特性 – Redis还支持publish/subscribe,通知, key 过期等等特性。

redis的缺点

  •  持久化。Redis直接将数据存储到内存中,可通过两种方式持久化:定时快照(snapshot)和基于语句的追加(AppendOnlyFile,aof)。Snapshot的方法是指每隔一段时间将整个数据库的数据写到磁盘上,很明显,每次均是写全部数据,代价非常高;而aof方法只追踪变化的数据,这类似于mysql的binlog方法,但追加log可能过大,同时所有操作均要重新执行一遍,恢复速度慢。
  • 耗内存。尽管Redis对一些数据结构采用了压缩算法存储,但占用内存量还是过高。

redis的命令

redis中的五种数据类型都有着同关系型数据库相同的crud
redis支持发布订阅模式,也就是我们学到的观察者模式
redis中的事务没有关系型数据库事务那么强大,当处于事务中的命令可能会一部分提交一部分失败,这是其事务的不足之处。

redis的安全及优化

redis的配置文件设置密码参数后,客户端连接到redis服务就需要密码验证,这样让redis服务更加安全
redis的备份很容易只要通过save命令即可。备份有两种RDB和AOF。RDB和AOF的区别详见博客
redis的主从复制很简单,redis.conf中两句话即可。

通过早上的学习,发现很多redis还是有很多学习的地方,而我们在ITOO中仅仅用到了缓存这一功能,想想新浪网的强大,如果想学好redis还需要进一步去学习。《redis的设计和实现》这本书网友好评的不少,可以去看看。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值