概述、安装

NoSQL

1、Not Only SQL

2、泛指非关系型的数据库

3、不依赖业务逻辑方式存储,而以简单的 key-value 模式存储,因此大大的增加数据库的扩展能力

(1)不遵循 SQL 标准

(2)不支持 ACID

(3)远超于 SQL 性能

4、应用场景

(1)数据高并发的读写

(2)海量数据的读写

(3)对数据高可扩展性

5、不适用场景

(1)需要事务支持

(2)基于 SQL 的结构化查询存储,处理复杂的关系,需要即席查询

 

Redis

1、开源 key-value 存储系统

2、和 Memcached 类似

(1)支持存储 value 类型相对更多,包括 string(字符串)、list(链表)、set(集合)、zset(sorted set,有序集合)、hash(哈希类型)

(2)数据类型都支持 push / pop、add / remove,取交集、并集、差集及其他操作,而且这些操作都是原子性的

(3)在此基础上,Redis 支持各种不同方式的排序

3、与 Memcached 相同

(1)为了保证效率,数据都是缓存在内存中

(2)区别:Redis 会周期性把更新数据写入磁盘,或把修改操作写入追加的记录文件

(3)在此基础上实现 master-slave(主从)同步

4、配合关系型数据库做高速缓存

(1)高频次访问的数据,降低数据库 I/O

(2)分布式架构,共享 Session

5、多样的数据结构,存储持久化数据

(1)通过 List 实现按自然时间排序的数据,获取最新 N 个数据

(2)zset(有序集合)

(3)Expire 过期,时效性的数据

(4)原子性,自增方法 INCR、DECR

(5)Set 集合,去除重复数据

(6)List 集合,构建队列

(7)pub / sub 模式,发布订阅消息系统

6、与 Memcache 不同

(1)Memcache:支持类型单一;Redis:支持多数据类型

(2)Memcache:不支持持久化;Redis:支持持久化

(3)Memcached:多线程 + 锁;Redis:单线程 + 多路 I/O 复用

7、底层:单线程 + 多路 I/O 复用

(1)多路复用:使用一个线程,检查多个文件描述符(Socket)就绪状态

(2)如:调用 select、poll,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时,得到就绪状态后,进行真正的操作时,可以在同一个线程执行,也可以启动线程执行(如线程池)

 

Redis 基于 C 语言编写

1、安装 Redis 所需的 gcc 依赖

yum install gcc

2、测试 gcc 是否成功安装

gcc -version

 

从源代码编译并安装 Redis

1、解压

tar -xzvf redis-stable.tar.gz

2、进入 redis 目录

cd redis-stable

3、编译

make

(1)如果没有安装 C 语言编译环境,make 会报错

(2)解决:清除 dist 文件,再编译

make distclean

4、安装

make install

5、安装时自动配置环境变量,可以在任意目录下启动

 

默认安装目录:/usr/local/bin

1、redis-benchmark:性能测试工具

2、redis-check-aof:修复有问题的 AOF 文件

3、redis-check-dump:修复有问题的 dump.rdb 文件

4、redis-sentinel:Redis 集群使用

5、redis-server:Redis 服务器启动命令

6、redis-cli:客户端,操作入口

 

两种启动方式

1、前台启动

(1)进入 Redis 安装目录

redis-server

(2)不使用

(3)命令行窗口不能关闭,否则服务器停止

2、后台启动

(1)备份 redis.conf 到其他目录

cp 源目录/redis.conf 备份目录

(2)切换到备份目录

(3)使用 vim 修改 redis.conf 文件,将 daemonize no 改成 daemonize yes,让服务在后台启动,

(4)启动 Redis

redis-server 备份目录/redis.conf

(5)单客户端访问

redis-cli

(6)多客户端访问,指定端口号(默认 6379)

redis-cli -p6379

(7)测试连接:返回 PONG,则正常

ping

 

关闭 Redis

1、杀死一个 Redis 进程

kill -9 进程号

2、进入 Redis 后关闭

shutdown

3、单实例关闭

redis-cli shutdown

4、多实例关闭,指定端口关闭

redis-cli -p6379 shutdown

 

默认16 个数据库

1、类似数组

2、下标从 0 开始

3、初始默认使用 0 号库

4、切换数据库命令:select <dbid>

 
统一密码管理

1、所有库密码相同

2、命令

(1)dbsize:查看当前数据库 key 数量

(2)flushdb:清空当前库

(3)flushall:清空全部库

posted @   半条咸鱼  阅读(58)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示