当前位置: 代码迷 >> 综合 >> 3.5 NoSQL--Redis的使用和常用数据类型
  详细解决方案

3.5 NoSQL--Redis的使用和常用数据类型

热度:28   发布时间:2023-12-11 23:47:25.0

目录

配置和启动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,对象在内存中存储的位置