NoSql介绍之redis

背景

随着web2.0的兴起 大量的NoSql层出不穷。其中的佼佼者必然会包含Redis

那么对于Redis的基本使用大家还是要做到了然与心

NoSql

nosql的兴起适合和sql水火不容,笔者第一次听说NoSql的时候第一脑子里就是不要sql了~以后数据存储怎么办?

莫非都用这个新的组件?

其实NoSql不是Not Sql的意思 而是Not Only Sql

换言之 不仅仅是SQL 因此千万别和憋着犯同样的错误,以为以后就不用mysql或者Oracle了

出于对于系统的性能,可用性等的考量 大量的系统开始使用redis等数据库

四大行、城商行等银行都在使用什么数据库?

事实上包括银行等对于数据要求很高的机构也已经在使用Redis了

Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

看到Pivotal眼熟的开发可能就知道这是Spring的母公司 因此spring对于redis的支持也是不错的 

<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis -->
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
    <version>XXX.RELEASE</version>
</dependency>

redis如此高的市场占有率在于其高性能多数据结构的支持等等。并且支持我们最常见的需求 过期!

 我们先来了解一下redis的常见的数据结构

String

这是最常见的数据结构 通过设置一个key和value来完成

Hash

hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

List

列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

Set

Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

Zset

zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

 

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

Geo

这个是redis 3新提供的关于地理位置的api可以存入经纬度等用来计算距离等等

我们最常用的是 String Hash List和 Set

可以如上参考我们系统中使用redis的一些场景

一些常用的命令可以参考

http://redisdoc.com/

相关文章

相关标签/搜索