目录
配置和启动Redis服务
redis历史和应用场景
Redis 数据类型
哈希存储和哈希算法
关系型数据库可以保证数据的完整性和一致性。
完整性---!!!!!!!!!!!
1.实体完整性-----每一个实体都是独一无二的,没有冗余---主键,唯一索引
2.域完整性-------录入数据库的数据均是有效的,数据类型、数据长度,非空约束,默认值约束,检查约束
3.参照完整性 -------对应关系,参照已经有的数据---外键
一致性
数据库帮你保证数据一致性---事务---要么全成功要么全失败
事务----ACID特性!!!!!!!!!!!!!!!
A---atomicity ----不可分割
C---consistency ----一致性,数据状态一致
I ---Isolation -------隔离性,并发的多个事务不知道彼此的中间状态
D---Duration----持久性,事务完成之后数据要做持久化
NoSQL---更适合大数据时代的需求,但是实际情况大家还是使用MySQL
NoSQL---性能,灵活性好,处理数据快
---文档数据库----MongoDB/ElasticSerach
---键值对数据库---Redis 高性能
---列族数据库 ---图数据库
配置和启动Redis服务
redis.io
wget
ls---cd redis-5.0.4/
redis-server --version
redis-client --version
netstat -nap |grep redis ---查看一下是否启动了redis服务器
kill-9 杀掉进程
redis -server --port 1234 >redis.log & 放在后台执行,执行过程放在log
redis -server --requirepass 1qaz2wsx >redis.log & 给redis口令1qaz2wsx
jobs ---查看后台进程
fg %1 ---后台拿到前台运行
服务器起好了,用客户端连接
redis-cli 连接自己直接回车
redis-cli -h 120.77.222.217 -p 6379 连接别人,指定主机,指定端口
ping ---error
auth 1qaz2wsx 认证身份
ping----PONG 链接成功
set username jack 放好了一对键值对
get username------得到 jack
set username hellokitty ex 30 有效期30s
set 13261979960 56889 ex 300 有效期300s
ttl 13261979960 查看键剩余存活时间
redis 高速缓存数据----很多很多网站登录缓存数据用了redis
redis -benchmark 基准测试工具---1s可以做多少次测试
redis历史和应用场景
redis --kv数据库--内存--单线程加异步 I/O(多路 I/O复用)---性能好
计算密集型应用----挖矿,数字货币 (多进程,多线程)
I/O 密集型应用-----网站,服务器后台,(单线程,异步 I/O)
Tornado 、Node.js 框架用的不是最多,但是支持高并发的框架,用的是单线程加异步 I/O
2008 --LLOOGG --log(日志,可以记录)
MySQL --Redis -- Remote Dictionary Server------Github / Twitter /Sina/ tencent /baidu /meitu/
冷数据、热数据(经常使用)
1.高速缓存服务(用户经常访问的数据从数据库搬到内存)
2.实时排行榜
3.投票点赞
4.消息队列
yum install redis
源代码构建安装 make && make install
redius -server --port 1234 --requirepass 1qaz2wsx --appendonly yes
redis -server redis-5.0.4/redis.conf& 启服务器,启动客户端
redis -cli -h 主机IP地址 -p端口
vim redis.conf 改绑定的主机和改端口,要不要做成守护进程,开的数据库个数
Redis 数据类型
set username hellokitty
keys* ---
save ---
bgsave ---后台保存
lua脚本,用来写游戏脚本的
TYPE
select :切换数据库,默认是0号数据库,可以切换database
FLUSHDB ;清除当前数据库中所有的键值对
FLUSHALL;清除所有的数据库中的数据
DBSIZE;查看一共有多少键值对
MSET;更多的键值对 more set
哈希存储和哈希算法
哈希存储- 性能非常好的存储方案 - set
obj ---哈希函数---哈希码(散列码)-----> set,对象在内存中存储的位置