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. 集合类型 集合类型与列表类型有很多相似之处,但二者的区别在于:前者具有唯一性,但不具有有序性:后者具有有序性,但不具有唯一性.集合类型的常用操作是向集合中加入或删除元素.判断某个元素是否存在等, ...
随机推荐
- PHP如何实现处理过期或者超时订单的,并还原库存
订单是我们在日常开发中经常会遇到的一个功能,最近在做一个订单过期与超时的开发.订单过期与超时就不用我解释了吧,其实两者都是同一个问题来着,就是订单未支付的处理,我们要做的是对这些未支付的订单到了一定时 ...
- Linux中命令备份mysql形成文件
基于龙哥(Thomas)的总结: mysqldump -u 用户名 -p密码 数据库名>bbs87.sql | tar -zcvf bbs87.tar.gz bbs87.sql 通过词条命令可以 ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 数学函数
NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等. NumPy 提供了标准的三角函数:sin().cos().tan(). import numpy as np ...
- java获取当前机器的公网ip
package com.Interface.util; import javax.servlet.http.HttpServletRequest; /** * 测试类 * * @author 华文 * ...
- java 类型转换一些相关问题
猜测:第二句 第四句会出错 结果是第二句和第四句会出错.说明了父类可以向子类类型转换,而不同的子类直接不能类型转换.
- 02-13Android学习进度报告十三
今天我学习了ListView之checkbox错位问题解决.感觉还是很麻烦的. 好的存储这个Checkbox的方法有很多,你可以放到一个HashMap<Integer, Boolean>中 ...
- I/O-<File实例>
File n=new File("D:\2016.txt"); System.out.println("文件是否存在"+n.exists()); System. ...
- iOS 开发之 RunLoop 详解
1)什么是 Runloop ? 1.字面上是运行循环,内部就是 do-while 循环,在这个循环内不断地处理各种任务. 2.一个线程对应一个 Runloop ,主线程的 RunLoop 默认是开启的 ...
- CSS背景图片设置
*{ margin:0px; padding:0px; list-style: none; text-decoration: none; font-family: Arial,'Microsoft Y ...
- SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xd0 in position 2: invalid continuation byte
[root@hostuser src]# python3 subprocess_popen.py File "subprocess_popen.py", line 23Syntax ...