redis学习笔记-01:redis简介
1、redis是一个高性能的Nosql数据库,遵守BSD协议,使用c语言编写、支持网络、可基于内存亦可持久化,是一种日志型、Key-Value数据库,也可看做是一个分布式的、基于内存的缓存工具。
2、NoSQL数据库的产生是为了解决超大规模和高并发的纯动态网站带来的挑战,尤其是大数据应用难题。
3、NoSQL数据库的四大分类:
(1)键值(Key-Value)存储数据库:这一类数据库主要会使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。比如redis,Oracle BDB。
(2)列存储数据库:通常用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。比如HBase。
(3)文档型数据库:该类型的数据库是版本化的文档,以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版本,允许嵌套键值。而且文档型数据库比键值数据库的查询效率更高。比如MongoDB。
(4)图形数据库,比如Neo4J。
4、NoSQL数据库适用的场景:
(1)数据模型比较简单,没有太多的字段
(2)需要灵活性更强的IT系统,查询速度需要更快
(3)对数据库性能要求较高,比如键值对数据库直接由键得到值
(4)不需要高度的数据一致性
(5)对于给定的key,可以映射到复杂值的环境
5、redis与其他键值数据库相比,有三大特点:
(1)redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载重新使用。
(2)redis不仅仅支持简单的Key-Value类型的数据,而且还提供list、set、zset、hash等数据结构的存储。
(3)redis支持数据的备份、集群等高可用功能,即master-slave模式的数据备份。
6、redis的特点:
(1)性能极高:redis读的速度是110000次/秒,写的速度是81000次/秒
(2)丰富的数据类型:redis支持的数据类型有string、list、hash、set和order set数据类型的操作。
(3)原子性:redis的所有操作都是原子性的,要么成功执行要么失败完全不执行。单个操作是原子性的,多个操作也支持原子性,即事务。
(4)占用内存过高,这是缺点。
7、redis能干啥:
(1)内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
(2)取最新N个数据的操作:可以将最新的10条评论的ID放在redis的list集合里面。
(3)模拟类似于HttpSession这种需要设定过期时间的功能。
(4)发布、订阅消息系统。
(5)定时器和计数器。
8、以docker方式安装并启动redis服务
(1)拉取redis镜像到本地:
docker pull redis
(2)新建redis容器,以后台模式运行。如果简单点,那就写:docker run -p 6379:6379 -d redis redis-server --appendonly yes。
docker run -p 6379:6379
-v /dyy/myredis/data:/data
-v /dyy/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-d redis redis-server /usr/local/etc/redis/redis.conf
--appendonly yes
(3)docker上的redis已经以后台模式运行,接下来执行以下命令进行交互。
docker exec -it 容器ID redis-cli
redis学习笔记-01:redis简介的更多相关文章
- redis学习笔记之redis简介
redis简介 Redis是一个开源的,高性能的,基于键值对的缓存与存储系统,通过设置各种键值数据类型来适应不同场景下的缓存与存储需求.同事redis的诸多高层级功能使其可以胜任消息队列,任务队列等不 ...
- Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...
- Redis学习笔记(4) Redis事务、生存时间及排序
1. Redis事务 Redis中的事务(transaction)是一组命令的集合,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis依次 ...
- Redis学习笔记(1) Redis介绍及基础
1. Redis的特性 (1) 存储结构 Redis(Remote Dictionary Server,远程字典服务器)是以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容.Redis支 ...
- StackExchange.Redis学习笔记(一) Redis的使用初探
Redis Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化. 与其它键值数据存储相比,Redis有一组相对丰富的数据类型. Redis可以将数据复制到任意数量的从机中 Redis的安装 官 ...
- redis学习笔记01 — 基本介绍、安装配置及常用命令
redis--NoSQL的一种 为了解决高并发.高可用.高扩展.大数据存储等一系列问题而产生的数据库解决方案,就是NoSQL NoSQL,非关系型数据库,全名:Not Only Sql,它不能代替关系 ...
- redis学习笔记-01 string类型命令
一.set key value set joker 123456 #设定key为joker,value为123456的数据 二.keys * keys * #用于查看该数据库中所有的key值 三.se ...
- redis学习笔记(三)——redis的命令大全总结
总结了一些redis五种存储类型的常用命令以及一些通用操作命令,不是很全,是在学习的时候将学到的做了个汇总,使用的时候可以查一下. 笔记写在表格里面了,不好粘贴.......后面的直接截图了..... ...
- Redis学习笔记(3) Redis基础类型及命令之二
1. 集合类型 集合类型与列表类型有很多相似之处,但二者的区别在于:前者具有唯一性,但不具有有序性:后者具有有序性,但不具有唯一性.集合类型的常用操作是向集合中加入或删除元素.判断某个元素是否存在等, ...
随机推荐
- Java连载65-自定义手动抛出异常、子类的异常范围、数组初探
一.手动抛出异常1.自定义无效名字异常: (1)编译时异常,直接继承Exception (2)运行时异常,直接继承RuntimeException 举例子:注意点:throws会向上抛出异常,跑到最上 ...
- powershell 无法运行一些脚本的情况
有时候在powershell里运行脚本会报错: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing" ...
- POJ2516 Minimum Cost
亲爱的,一个货物销售者,现在遇到了一个大问题,他需要你的帮助.在他的销售区域有 N 个店主(从 1 到 N)向他储存货物,Dearboy 有M 个供应点(从 1 到 M),每个供应点提供 K 种不同的 ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 创建数组
import numpy as np x = np.empty([3,2], dtype = int) print (x) import numpy as np # 默认为浮点数 x = np.zer ...
- HDU1875 畅通工程再续
相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全 ...
- Keras入门——(7)长短期记忆网络LSTM(四)
数据准备:http://www.manythings.org/anki/cmn-eng.zip 源代码:https://github.com/pjgao/seq2seq_keras 参考:https: ...
- Update(Stage4):spark_rdd算子:第2节 RDD_action算子_分区_缓存:算子和分区
一.reduce和reduceByKey: 二.:RDD 的算子总结 RDD 的算子大部分都会生成一些专用的 RDD map, flatMap, filter 等算子会生成 MapPartitions ...
- mcast_block_source函数
#include <errno.h> #include <sys/socket.h> #define SA struct sockaddr int mcast_block_so ...
- mcast_join函数
#include <errno.h> #include <string.h> #include <net/if.h> #include <netinet/in ...
- Centos6.X创建Oracle用户
第一步:创建数据表空间 第二步:创建临时表空间 第三步:创建用户并指定表空间 第四步:给用户授予权限 1.创建数据表空间 格式: create tablespace 表间名 datafile ‘数据文 ...