1. NoSQL: not only sql
为什么有NOSql: 互联网项目:特点: 数据库高并发读写,海量数据高效率存储,可扩展
NOSQL主流:
键值对(redis),列式存储,文档类型,图形数据库
NoSql特点:
特点: 数据库高并发读写,海量数据高效率存储,可扩展
1. Redis简介
什么是实时系统: 瞬时可以实现某些数据的统计或者是功能的实现
*_Redis由来:
*_什么是redis?
由C语言实现的直接操作内存的开源的高性能的数据库软件
*_redis应用场景
2. 安装redis
redis安装包: 源码形式提供 .c文件
将.c编译为.o文件 需要安装: gcc
将编译后的文件安装在linux系统上
等价于 希望在当前的系统安装JAVA版本的QQ,下载到的安装文件以.java源码形式提供.
3.需要:
第一步:1_下载GCC 在系统上有JDK(GCC),
2_编译: 通过JDK将源码编译为字节码
3_安装: 将字节码进行打包设置 .bat
第二步:1_获取安装包 redis-3.0.7.tar.gz
2_利用filezilla.exe 将安装包上传到/root/
3_cd /root/ ___> tar -zxvf redis-3.0.7.tar.gz
4_编译 将源码翻译为.o文件
cd /root/redis-3.0.7 ___> make
5_创建一个目录 /usr/loca/redis (安装目录)
6_安装reids
cd /root/redis-3.0.7
make PREFIX=/usr/local/redis install
7_ 由于redis启动需要一个配置文件,将配置文件复制到 /root/redis/
cp /root/redis-3.0.7/redis.conf /root/redis
8_ 修改/usr/local/redis/redis.conf
9_ 启动服务端 ./bin/redis-server ./redis.conf
10_启动客户端 ./bin/redis-cli
11_测试redis是否正确安装成功
向服务器发送 ping 命令,服务器返回 pong
向服务器发送 set name tom
get name 命令可以看到可以获取到tom的信息
向服务器发送keys *
可以查看服务器中一共有多少键值对的数据,可以查看到各个键值类型数据
2 Redis特性
2.1 多数据库支持
Redis支持多个数据仓库(16)
选中第0号仓库: select 0
选中第1号仓库: select 1
选中第15号仓库: select 15
将当前仓库下的某个键值对的数据移动到其他仓库:move name 1
2.2 服务器自学命令
1.测试连接是否存活: ping
2.打印内容: echo zhangsi (System.out.println(“DDDDD”);)
3.退出当前的redis连接:quit
4.测试当前仓库中有多少个键值对:dbsize
5.清除当前仓库:flushdb
6.清除所有的仓库:flushall
2.3 消息订阅和发布
应用场景:类似于游戏中的在指定频道中发布消息
我们利用CRT打开3个窗口
窗口1中通过输入:subscribe mychat 订阅一个名称为mychat的频道
窗口2中通过输入:publish mychat ‘111’在频道mychat中发布消息111
窗口3中通过输入:psubscribe my* 批量订阅以my开头的频道
窗口2中通过输入:
publish mychat ‘333’ 在频道mychat和my**频道中发布消息
Publish mychat02 ‘444’ 在频道my*中发布消息
2.4 事务的支持
1_redis中通过**multi【开启事务】/exec【提交事务】/discard【回滚事务】**命令来解决开发中遇到的事务问题
2_Redis事务特点