C语言编写开源的、redis 基本内存的,可选持久性的键值对,以key-value值的方式存取数据。它的数据是存在内存中的。这是Redis速度快的主要原因。

一、redis的优点

1、基于内存,cpu不是redis的瓶颈、内存和网络带宽才是;cpu的速度大于内存、内存大于硬盘。

2、单线程、避免了cpu的上下文切换,损耗

3、IO多路复用

二、redis的缺点

三、redis的数据类型

四、redis的应用场景

1、经常会被查询、但是不怎么会被修改或者删除的数据,由于redis 的访问速度比较快,支持的数据类型比较丰富,优先是使用redis缓存

2、

NOSQL数据库、内存缓存、消息队列

redis缺点 redis的优缺点_数据结构

Redis 
Nosql   没有表  key-value 键值对

SQL 关系型数据库     数据库增删改查

NOsql 与 mysql的区别   

mysql
1、结构化的数据,可以对表设置约束
2、关联的
3、sql 查询 --语法固定,只要是关系型数据库都可以用sql语句
4、事务ACID 
5、存储方式磁盘
6、垂直
数据结构固定
相关业务对数据安全性一致性要求较高
NOsql
1、非结构化的数据
2、非关联的  JSON
3、非SQL查询
4、BASE 基本满足,无法全部满足ACID
5、内存
6、水平
数据结构不固定,经常要进行变更。
对一致性,安全性要求不高
对性能要求。

key |  value

Document (文档行)
 {}

Graph 图    没有严格的性能要求

Redis 诞生于2019年。
键值key-uale 支持多种不同数据结构,功能丰富
单线程,每个命令具备原子性
基于内存、IO多路复用
支持数据持久化;定期将内存持久化到磁盘

redis6.0 对网络请求的处理上是多线程,
在命令处理上,核心还是单线程。

支持主从集群,分片集群
支持多语言客户端。

redis.conf 配置
监听地址127.0.0.1 只能在本地访问,修改为0.0.0.0 可以在任意地址访问
bind 

守护进程,修改为YES 后既可后台运行
daemonize yes
密码,设置后访问Redsi必须输入密码
requirepass 密码

https://github.com/lework/RedisDesktopManager-Windows/releases   下载客户端工具包
set name jack
set age 21

get age
get name

select 1   切换库
redis 默认有16个库

redis 数据结构
key一般是string类型              5种基本类型
1、string    hello world
2、hash   {name:"tianxia",age:22}
3、list     [a->b->c-]
4、set      A,B,C
5、sortedset   {A:1,B:2,C:3}

1、String字符串的类型的常见命令
redis 通用命令  (key也是严格区分大小写)
help keys
keys  a*    查询所有key
DEL     删除一个指定的key
EXISTS  判断key是否存在
EXPIPE   给一个key设置一个有效期,有效期到期时该key会被自动删除
TTL      查看一个key的有效期
MGET   获取key name的返回值
INCR:让一个整数自增1
INCRBY  : 自减1
INCRBYFLOAT  : 浮点数自增
SETNX : KEY 存在则不会创建、不存在才会创建。

key的结构
Redis的key允许有多个单词形成层级结构,多个单词用冒号隔开:
项目名:业务名:类型:id

set  zhejiang:user:1
 set  zhejiang:user:2
 set  zhejiang:product:1
 '{"id":1,"name":"jack","age":21}'
 '{"id":2,"name":"ROse","age":23'
 '{"id":1,"name":"小米11","price":4999}'
 '{"id":2,"name":"荣耀6","price":2999}'

 

redis缺点 redis的优缺点_数据结构_02

2、HASH类型,也叫散列
String结构是将对象序列化为JSON字符串存储,当需要修改某个字段时很不方便

HASH 结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD

HSET zhejiang:user:3 name Lucy
 HSET zhejiang:user:3 age  17

redis缺点 redis的优缺点_redis_03

HMSET zhejiang:user:4 name zhangsan age 40 sex man

redis缺点 redis的优缺点_数据结构_04