Redis基础

Redis

NoSQL

Not Only SQL:不需要固定的模式储存,可以横向扩展,泛指非关系型数据库。

BSon可以画出非关系型数据模型,binary Json。例如下单:本来关系型数据库一个id要查订单表,收货地址表等等表,而非关系型数据库可以直接一个id查出所有信息(放入json串中)

NoSQL数据库的四大分类

  • KV键值:redis tier等
  • 文档型数据库:bson格式较多。MongoDB是一个基于分布式文件存储的数据库,是非关系型数据库中最像关系型数据库的。
  • 列存储数据库:列存储数据库
  • 图关系数据库:Neo4J

四者对比:

CAP 和 BASE

传统 ACID

  • Atomicity 原子性
  • Consistency:一致性
  • Isolation:隔离性
  • Duration:持久性

CAP

  • Consistency:强一致性
  • Availablity:可用性
  • Partition tolerance:分区容错性

P是必须要实现的。

CA:RDBMS

AP:大部分网站架构的选择

CP:Redis, Mongodb

BASE

  • Basically Avaliable:基本可用
  • Soft state:软状态
  • Eventually consistent:最终一致性

分布式 集群

分布式:不同机器上部署不同模块,通过rpc rmi调用

集群:不同机器上部署相同模块

Redis

Remote Dictionary Server(远程字典服务器)Redis是单进程模型来处理客户端请求,通过对 epoll 函数的包装来做到的。

默认16个库,0-15。DBsize 能获取当前 key 的个数。keys * 能获取所有 key,类似 select * 。可以用占位符。FLUSHALL删除所有16个库,FLUSHDB删除当前库。

key 关键字

move k3 2 //把k3搬运到2号库
exists a //判断a是否存在 存在返回 1
ttl a //判断a还能活多久 time to live -1表示永久
expire a 18 //设定key过期时间,过期后,移除内存系统, 返回值 -2
del a  //删除 a
type a //a 是什么类型
INCR a // a++
append a // 追加写
getrange a 0 -1 //获取全部
setex a 10 value // 设置过期
setnx a value // 加入不存在 则写入

Redis 五大数据类型

String

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"

Hash

127.0.0.1:6379> hset user a b
(integer) 1
127.0.0.1:6379> hget user a
"b"
127.0.0.1:6379> hmset person name hello age 12
OK
127.0.0.1:6379> hgetall person
1) "name"
2) "hello"
3) "age"
4) "12"
127.0.0.1:6379> hlen person
(integer) 2

List

底部是个 linkedlist

127.0.0.1:6379> LPUSH list 0 1 2 3 4 5  //头插法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于学习Redis基础知识,可以按照以下思路进行学习: 1. 了解Redis的概念和特点:首先需要了解Redis是什么,它的主要特点是什么,它为什么被广泛应用于缓存、消息队列、会话管理等场景。 2. 安装和配置Redis:根据你的操作系统,安装Redis并进行相关配置。可以参考Redis官方文档或其他教程来完成这一步。 3. 学习Redis的数据结构:Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合等。了解每种数据结构的特点、用途和操作命令,并通过实际操作来加深理解。 4. 掌握Redis的常用命令:学习Redis的常用命令,如get、set、hget、hset、lpush、lrange、sadd、smembers等,了解每个命令的具体用法和参数含义。 5. 理解Redis的持久化机制:了解Redis的RDB和AOF两种持久化方式,以及它们的优缺点。学习如何进行备份和恢复数据。 6. 学习Redis的事务和Lua脚本:了解Redis事务的基本概念和使用方法,以及如何使用Lua脚本来进行复杂的操作。 7. 深入了解Redis的性能优化和高可用方案:学习如何优化Redis的性能,包括配置调优、使用合适的数据结构、合理地使用缓存等。同时了解Redis的高可用方案,如主从复制、哨兵模式和集群模式。 8. 学习Redis与其他技术的结合:了解Redis如何与其他技术进行结合,如与Python、Java等编程语言的配合使用,以及与Spring、Django等框架的整合。 以上是学习Redis基础知识的一个思路,你可以根据自己的实际情况和需求进行学习和拓展。推荐参考一些经典的Redis教程和实战案例,通过实际操作和项目实践来提升自己的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值