在Java中使用redis(1)入门

1 NoSQL的概念(理解)

(1)nosql是什么

NoSQL(不仅仅是SQL not only SQL),泛指==非关系型的数据库==。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题;

(a) nosql 它是非关系型数据库

(b) nosql 解决网站里面 大数据和高并发的问题(SNS社交网络上面/电商/12306)

(2)Nosql数据库的分类(特点)

key-value(键值对形式)型 nosql数据库 -- 典型代码 redis

列式存储型, 文档型 ,图表型(了解)

2 redis的认识

(1) redis开源 高性能nosql数据库,数据可以存储在内存或磁盘上面

(2) Redis 主要key-value结构形式存储,redis底层支持各种类型的数据存储结构

包括 list set map(hash) string等

3 redis特点:(理解--面试题)

(1) 数据存储内存,速度比较快

(2) 支持类型比较多

string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合--api)和hash(哈希类型)。

(3)支持磁盘存储 -- 完成持久化操作 (aof rdb)

(4) 支持数据的过期 --(设置过期时间 expire)

(5) 支持集群操作 --(明天讲)

(6)支持订阅和发布 --(了解 MQ)

Redis 和 Memcache区别(面试题)--(掌握)

不同点:

memcach和redis的不同点

 

支持类型: 表来存储 string/list/map/set/... map

相同点: memcache和redis 都是 key-value 非关系型数据

redis 它是 key-value型的非关系型数据库,作用 做缓存

4 redis的使用场景

(1)redis使用最多的地方 就是缓存 --(内存最多)

(2)可以处理大数据量的计数问题 --(微博转发 点赞)

(3)实时的攻防系统

银行登录 (登出多少次 会锁定) --暴力破解(穷举法)

userid 1/2/3

(4)有效期应用 -- 优惠劵

(5)自动去重应用 -- set

(6)队列的结构 -- (FIFO) (list存储) -->消息队列(RabbitMQ) --地铁

(7)消息订阅和发布

5 redis 使用--掌握

安装: 直接下载下来 进行解压

(1)String 操作(掌握)

set key value

get key

(2)key的操作(掌握)

keys *

expire key second

ttl key

(3)list操作(掌握)

lpush/rpush key value1/value2

lrange key start end

lindex key index

(4)set操作

sadd key val1 /val2/val3

smembers key

srem key member

(5) hash操作(掌握)

hset key name value

hget key name

hmset key name1 key1 name2 key2

hmget key name1 name2

(6)订阅 发布 事务 了解

(7)设置密码 --通过配置文件操作(掌握)

6 java代码操作redis(掌握)

springboot (连接方式 -- 只需要做配置) jedis

string 操作

list操作

set操作

hash操作

事务操作 了解

7 redis里面持久化(掌握)

为什么需要持久化?

防止数据丢失

怎么持久化?

磁盘存储 和 内存磁盘

redis如果要实现磁盘存储(做持久化过程) 两种方案

rdb方式 : 在一个时间点内 保存一个数据的快照

save 1 1 1s钟之内至少有一个变化的时候,做持久化

缺点: 1s 之内的数据 操作时候,丢失,不能做持久化

aof方式 :

追加执行的配置文件的方式 (配置文件就有操作的命令)

8 保存到redis里面的数据永久存在的吗?(淘汰策略)--理解

-- 不是

可以设置过期时间 到过期时间之后, 会淘汰数据

达到内存最大值,也会淘汰

淘汰数据,怎么去淘汰(10000 个数据 -- 淘汰)

(2)淘汰策略:(理解)

大体三种 : lru(最近最少使用) ttl(即将过期的数据) random(随机淘汰)

volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰 volatile-ttr:从已设置过期的数据集中挑选将要过期的数据淘汰 volatile-random:从已设置过期的数据集中任意挑选数据淘汰 allkeys-lru:从数据集中挑选最近最少使用的数据淘汰 allkeys-random:从数据集中任意挑选数据淘汰 noenviction:禁止淘汰数据

redis (淘汰策略通过公司里面的架构师来配置 --集群)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值