前言
传统数据库的ACID :
Atomicity 原子性(事务性)
Consitency 一致性(库原约束不变)
Isolation 独立性(事务间不影响)
Durability 持久性
分布式数据库的CAP :
Consitency 强一致性
Availability 可用性
Partition tolerance 分区容错性
三个特性始终只能满足两个特性:
CA:传统Oracle
AP:大多数网站架构(顾客所看到的点赞数,浏览数不需强制一致)
CP:Redis ,Mongdb
分布式数据库的BASE :
Basically Available+Soft state+Eventually consistent
Redis
Remote Dictionary Server
- 支持持久化,内存中数据保持在磁盘中,性能极高 – Redis能支持超过 100K+ 每秒的读写频率;
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作;
- 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行;
Windows下载地址
链接: link.
linux下载地址(推荐)
Redis安装
- 下载redis-4.4.7.tar.gz放入/opt/;
- tar -zxvf redis-4.4.7.tar.gz;
- cd redis-4.4.7文件夹;
- 在目录下执行make命令
- 若出现错误CC:command not found 需要安装gcc
#su 切换至root用户 #yum install gcc #rpm -qa|grep gcc - 在目录下执行make命令 # make
- 若出现Jemalloc/jemalloc h:没有那个文件或目录错误
(需要清除残存文件 执行命令# make disclean) - 在目录下执行make命令 # make
- #make install检查安装
- 选择是否测试(需要下载TCL插件)
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local
cd /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install - 在根目录下 创建myredis文件夹
- 复制redis-4.4.7文件夹下的redis.conf配置文件到myredis文件夹下
- vim redis.conf 修改
daemonize no 变为daemonize yes - 查看redis服务 ps -ef|grep redis
Redis启动
- #cd /usr/local/bin;
- #ls -l查看redis;
- #redis-server /home/ooxx/Downloads/myredis/redis.conf;
在根目录下按自己配置conf启动redis - #redis -cli -p 6379; 默认端口为6379;
- 127.0.0.1.6379> ping
PONG
127.0.0.1.6479>set k1 hello (存储二进制安全字符串,最大长度为1GB)
OK
127.0.0.1.6379>get k1
“hello”
127.0.0.1.6379>SHUTDOWN
not connected>exit
Redis基础增删改查
基于一个表格
Sid | Sname |
---|---|
1 | 张 |
2 | 刘 |
3 | 李 |
Key:表名:主键值:列名
Value:列值
(修改数据仍为set覆盖)
127.0.0.1:6379>set Student:1:Sname 张
127.0.0.1:6379>get Student:1:Sname
张
127.0.0.1:6379>del Student:2:Sname
-
Authors
-
Mr.liiu
: