redis

第一章 redis快速入门

Redis是一个key-value存储系统。和memcached类似,它支持存储的value数据类型更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/popadd/remove及取交集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave主从同步。

1.1key-value存储系统简介

具备高可靠性及可扩展性的海量数据存储,传统关系型数据库很难满足该需求,并且很多时候对于特定的系统绝大部分的检索都是基于主键的查询,在这种情况下使用关系型数据库使得效率低下,并且扩展也将成为未来很大的难题。

按照分布式领域的CAP理论:Consistency(一致性)、Availability(可用性)、Tolerance to network Partitions(分区容错性)来衡量。传统关系型数据库的ACID只满足了ConsistencyAvailability,因此Tolerance to network Partitions(分区容错性)很难做得很好。另外传统关系型数据库处理海量数据、分布式架构时候在PerformanceScalabilityAvailability等负面存在很大的局限性。

key-value更加注重对海量数据存取的性能、分布式、扩展性支持上,并不需要传统关系型数据库的一些特征,例如:schema、事务、完整SQL查询支持等等,因此分布式环境下的性能相对于传统关系型数据库有了很大的提升。

key-value数据库有很多种:voldemortdynamomemcachedbCassandrahypertable

为什么选择key-value store

1. 大规模的互联网应用

2. 云存储

1.2初识redis

1.2.1数据类型

作为key-value型数据库,redis也提供了keyvalue的映射关系。但是除了常规的数值或字符串,redis的键值还可以是一下形式之一:

l Lists 列表

l Sets 集合

l Sorted sets 有序集合

l Hashes 哈希表

键值的数据类型决定了该键值支持的操作。Redis支持注入列表、集合、有序集合的交集、并集、差集等高级原子操作;如果键值是普通数值,redis则提供了自增等原子操作。

1.2.2持久化

通常,redis将数据存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据的持久化:使用截图的方式,将内存中的数据不断写入磁盘:或使用MySQL的日志方式,记录每次更新的日志。前者性能较好,但是可能会一定程度的引起数据丢失:后者相反。

1.2.3主从同步

Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。

1.2.4性能

相比需要依赖磁盘记录每个更新的数据库,基于内存的特性给redis带来了非常优秀的性能。读写操作之间有显著的性能差异。

第二章 数据类型及其操作

2.1前言

2.2strings类型及操作

2.2.1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值