博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis
阅读量:3959 次
发布时间:2019-05-24

本文共 1275 字,大约阅读时间需要 4 分钟。

什么是NoSql

不仅仅是SQL,泛指非关系型的数据库

NoSql特点

NoSQL的共同特点是数据之间无关系

优点  易扩展,高读写性能

传统RDBMS与NOSQL对比

RDBMS

结构化查询语言(SQL)

数据和关系都存储在单独的表中

事务

NoSQL

没有声明性查询语言,没有预定义的模式

键 - 值对存储,列存储,文档存储,图形数据库

最终一致性,而非ACID属性

Redis基本概念

Redis简介

redis是一个高性能的k-v非关系数据库,它可存键与5种不同类型的值之间的映射(mapping),支持存储的value类型包括String(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(散列表)。为了效率,数据缓存在内存中。redis会周期性的把更新的数据写入磁盘,并且实现了master-slave(主从)同步

Redis特点

redis操作都是原子性的,来保证数据的完整性

redis将数据存储到内存中,读写效率非常高:读 11万/s 写 8万/s

redis中提供了丰富的数据类型:五种 String hash list set sortedSet

注: redis中数据类型指的是value的数据类型,而key只有String

Redis数据类型之String

概述

字符串类型是Redis中最基础的数据存储类型,它在Redis中是二进制安全的,该类型可以接受任何格式的数据。在Redis中字符串类型的Value最多可以容纳的数据长度是512M

使用场景

缓存:将数据以字符串方式存储

计数器功能:如视频播放次数,点赞次数

Redis数据类型之List

概述

List类型是按照插入顺序排序的字符串链表。从元素插入和删除的效率视角来看,如果我们是在链表的两头插入或删除元素,是非常高效的操作,即使链表中已经存储了百万条记录,该操作也可以在常量时间内完成。如果元素插入或删除操作是作用于链表中间,那是非常低效的

使用场景

消息队列:使用redis做消息队列,如果消费失败客户端把key再放回去,消费成功真的remove掉

Redis数据类型之Hash

概述

Hash类型是具有String Key和String Value的map容器,该类型非常适合于存储值对象的信息。如Username、Password等

使用场景

用Hash做表数据缓存

Redis数据类型之Set

概述

Set类型是没有排序的字符集合,和List类型一样,在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作,

和List类型不同的是,Set集合中不允许出现重复的元素

使用场景

标签,去重,抽奖案例

Redis数据类型之Sorted Set

概述

Sorted Set(有序集合)不允许重复的成员,Sorted Set中的成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。尽管Sorted Set中的成员(元素值)必须唯一,但分数(score)却可以重复

使用场景

排行榜

转载地址:http://gpazi.baihongyu.com/

你可能感兴趣的文章
DbUtils入门
查看>>
DTD约束简介
查看>>
Eclipse Debug调试
查看>>
Eclipse Debug调试
查看>>
Hibernate的注解和XML
查看>>
JavaScript闭包
查看>>
JavaScript原型
查看>>
JavaScript原型
查看>>
JavaScript原型
查看>>
JDK工具
查看>>
JDK工具
查看>>
JNA-JNI升级版
查看>>
JNA-JNI升级版
查看>>
Android 下 JNI 开发
查看>>
Android 下 JNI 开发
查看>>
Android 下 JNI 开发
查看>>
Android 下 JNI 开发
查看>>
Android 下 JNI 开发
查看>>
Android 下 JNI 开发
查看>>
Android 下 JNI 开发
查看>>