一.NoSQL介绍
NoSQL(Not Only SQL),意为反SQL运动,是一项合新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。它指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
NoSQL是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准、ACID属性、表结构等等,这类数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。
二.NoSQL特点
1.处理超大量的数据
2.运行在便宜的PC服务器集群上
3.击碎了性能瓶劲
三.NoSQL适用场景
1.对数据高并发读写
2.对海量数据的高效率存储和访问(fielfeed:一个月有2.5亿用户动态)
3.对数据的高可扩展性和高可用性
四.Redis的介绍
Redis is an open source,advanced key-value store.It is often referred to as a data structure server since keys can contain strings,hashes,lists,sets and sorted sets.
Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。
Redis是一个Key-Value存储系统。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集和并集及更丰富的操作,Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
Redis提供的API语言包括:C、C++、C#、Clojure、Common Lisp、Erlang、Haskell、Java、Javascript、Lua、Objective-C、Perl、PHP、Python、Ruby Scala、Go、Tcl。
目前全球最大的Redis用户是新浪微博,在新浪有200多台物理机,400多个端口正在运行着Redis,有+4G的数据在Redis上来为微博用户提供服务。
在新浪微博Redis的部署场景很多,大概分为如下的两种:
a.应用程序直接访问Redis数据库
b.应用程序直接访问Redis,只有当Redis访问失败时才访问MySQL
Redis数据库提供多种灵活的数据结构和数据操作,为不同的数据提供不同的数据类型。
五.Redis具体适用场合
1.取最新N个数据的操作
2.排行榜应用,取TOP N操作
3.需要精确设定过期时间的应用
4.计数器应用
5.Uniq操作,获取某段时间所有数据排重值
6.实时系统,反垃圾系统
7.Pub/Sub构建实时消息系统
8.构建队列系统
9.缓存
六.redis、mySql、mongoDB的比较
七.Redis的安装与部署
Redis的官方下载站是:http://redis.io/download
步骤一:下载安装包
wget http://redis.goolecode.com/files/redis-2.4.17.tar.gz
步骤二:编译源程序
tar zxvf redis-2.4.17.tar.gz cd redis-2.4.17 make cd src && make install
步骤三:移动文件,便于管理
mkdir -p /usr/local/redis/bin mkdir -p /usr/local/redis/etc mv /lamp/redis-2.4.17/redis.conf /usr/local/redis/etc cd /lamp/redis-2.4.17/src mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
步骤四:启动Redis服务
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
Redis服务端的默认连接端口是6379(mySql的端口号是:3306;mongoDB的端口号是:27017,28017)。
默认情况下,Redis不是在后台运行的,我们需要把开启Redis的后台运行。
vi /usr/local/redis/redis.conf
将daemonize的值改为yes。
启动后看进程是否启动
ps -ef | grep redis
看指定的端口号是否占用
netstat -tunpl | grep 6379
步骤五:客户端连接
/usr/local/redis/bin/redis-cli
步骤六:停止Redis实例
我们可以使用
/usr/local/redis/bin/redis-cli shutdown
也可以使用
pkill redis-server
当然,也可以使用kill all,kill -9。
八.Redis的配置
daemonize:如果需要在后台运行,把该项心为yes
pidfile:配置多个pid的地址,默认在/var/run/redis.pid
bind:绑定ip,设置后只接受来自该ip的请求
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:分为4级,debug、verbose、notice、warning
logfile:配置log文件地址
databases:设置数据库的个数,默认使用的数据库为0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
Dbfilename:镜像备份文件的文件名
Dir:数据库镜像备份的文件放置路径
Slaveof:设置数据库为其他数据库的从数据库
Masterauth:主数据库连接需要的密码验证
Requirepass:设置登录登录时需要使用的密码
Maxclients:限制同时连接的客户数量
Maxmemory:设置redis能够使用的最大内存
Appendonly:开启append only模式
Appendfsync:设置对appendonly.aof文件同步的频率
vm-enabled:是否开启虚拟内存支持
vm-swap-file:设置虚拟内存的交换文件路径
vm-max-memory:设置redis使用的最大物理内存大小
vm-page-size:设置虚拟内存的页大小
vm-pages:设置交换文件的总的page数量
vm-max-threads:设置VMIO同时使用的线程数量
Glueoutputbuf:把小的输出缓存存放在一起
hash-max-zipmap-entries:设置hash的临界值
Activerehashing:重新hash
说明:本文是我网上学习LAMP兄弟连李捷老师《NoSQL数据库之Redis数据库管理》的学习笔记。
相关推荐
### NoSQL数据库之Redis数据库管理视频教程 #### NoSQL数据库简介 NoSQL(Not Only SQL)数据库是指非关系型数据库,它们与传统的关系型数据库在数据存储方式上有显著区别。NoSQL数据库通常支持灵活的数据模式,...
教程名称:NoSQL数据库之Redis视频教程(8集)课程目录:【】NoSQL数据库之Redis视频教程01【】NoSQL数据库之Redis视频教程02【】NoSQL数据库之Redis视频教程03【】NoSQL数据库之Redis视频教程04【】NoSQL数据库之...
### NoSQL数据库之Redis知识点详解 #### 一、NoSQL数据库概述 - **NoSQL**:Not Only SQL,指的是非关系型数据库。这类数据库的设计旨在处理海量数据,并且支持高并发访问,通常用于大规模分布式存储环境中。 - *...
NoSQL数据库之Redis数据库笔记是兄弟连NoSQL视频教程 redis讲的课程所做的笔记,里面很全面的讲述了Redis的完整使用和说明,很详细
NoSQL数据库之Redis数据库
四、Redis的安装与部署 安装Redis通常涉及下载源码、编译、配置以及启动服务。首先,你需要从Redis官方网站获取最新版本的源代码,然后在Linux环境下解压并编译。配置文件`redis.conf`允许你定制Redis的行为,例如...
Redis,全称Remote Dictionary Server,是一款高性能的键值存储系统,常被用于数据库、缓存以及消息中间件等场景。它支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合...
标题 "NoSQL数据库之Redis.zip" 提到的核心知识点是NoSQL数据库中的Redis,这是一个非常重要的分布式数据存储系统,尤其在处理大数据场景时被广泛应用。现在,让我们深入探讨一下Redis及其在大数据环境中的作用。 ...
NOSQL(Not Only SQL)数据库是近年来新兴的一类数据库系统,它与传统的关系型数据库相比有着显著的区别。NOSQL数据库不支持SQL语法,其数据存储结构通常不遵循关系表模型,而是采用键值对(KV)形式,这使得NOSQL...
本篇文章将主要聚焦于Redis中的两种基础数据类型——String和Hash,以及它们在数据库管理中的应用。 首先,让我们深入了解String类型。在Redis中,String是最基本的数据类型,可以存储字符串、整数或浮点数。例如,...
通过对MongoDB和Redis这两种NoSQL数据库的详细介绍,我们可以看出它们各自的优势和适用场景。MongoDB适合于需要灵活性和高扩展性的应用,而Redis则更适合于需要高性能和低延迟的应用场景。在实际应用中,根据具体的...
SSDB - Redis-compatible NoSQL database stored on disk高性能的键值(key-string、key-zset、key-hashmap)NoSQL 数据库,是 Redis 的替代品。SSDB性能稳定,已投入生产,并被包括奇虎360在内的多家互联网公司广泛...
标题和描述中的知识点聚焦于高性能NoSQL数据库Redis的特性与应用,以下将深入解析这些关键概念,以便更好地理解和掌握Redis的使用。 ### Redis的核心概念 #### Redis是什么? Redis,全称为Remote Dictionary ...
尽管文档的部分内容似乎与Linux公社网站介绍有关,但我们的重点将放在提取与NoSQL数据库相关的知识点上。 ### NoSQL数据库入门 #### 一、NoSQL简介 NoSQL(Not Only SQL)是指非关系型数据库,它的出现主要是为了...
里面详细记载了Redis的安装与使用,已经对集群结构和哨兵模式的讲解和实现
NewSQL数据库是指继承了NoSQL数据库的优点,同时也解决了NoSQL数据库的不足之处的数据库管理系统。NewSQL数据库具有高性能、高可用性和高扩展性等特点,例如Google的Spanner和Amazon的Aurora等。
与传统的SQL(结构化查询语言)数据库不同,NoSQL数据库不依赖于固定的表结构,支持多种数据模型,如键值对、文档型、列族和图形数据库。 1. **NoSQL数据库的优势** - **横向扩展性**:NoSQL数据库通常易于扩展,...