redis缓存数据库入门教程

入门redis教程
前言:

应公司需求,最近学习了一下redis数据库的一些简单入门的教程,整理出来分享给大家,喜欢的可以关注和点赞哦~

如文章中有不足之处求指正,谢谢

 

目录

·什么是redis?为什么用使用它?

·redis和mysql的区别?

·适用的场景

·redis的安装以及使用?

·常用的redis命令

·redis对键的操作

 

一,什么是redis ?为什么要用它?

简单介绍:

Redis是开源的key-value缓存框架,由c语言编写,也是一款高性能的框架提供多种语言的API 。

 

SET 每秒11万次    取get每秒81000次。

 

数据完全存储在内存空间中,支持数据持久性,支持master-slave模式的数据备份。

 

Value可以是字符串,(hash)Map,(List)列表,(SET)集合,

 

(sorted set)有序集合

二,redis和mysql的区别?

我们都知道mysql是持久数据化存储,存储在磁盘当中的,会涉及到一些io,存储速度会较慢,这时候就出现了redis数据库,redis存储数据在内存当中,大幅度的提高了大数量的web访问速度。 

Redis+Mysql 它就是一个内存+磁盘关系的一个映射,redis存储在内存中mysql存储在磁盘中,这样的话web每次访问redis如果没有数据就再去mysql读取数据,大大的提高了运行速度。

 

Redis: 

内存数据库,数据存储在内存当中,速度快。

 

Mysql:

关系型数据库,功能强大,存储在磁盘,访问效率低。

    

三,适用场景 
1,取最新n个数据的操作

2,排行榜,取topn个数据(最佳人气前10条)

3,精确的设置过期时间

4,记数据

5,实时系统,反垃圾系统。

6,Pub,sun构建实时消息系统。

7,构建消息队列

8,缓存
 

ehcache 和 redis 比较

  • ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。
  • redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,
    处理集群和分布式缓存方便,有成熟的方案。如果是单个应用或者对缓存访问要求很高的应用,用ehcache。如果是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis。

介绍

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。

特性

  • 快速、简单
  • 多种缓存策略
  • 缓存数据有两级:内存和磁盘,因此无需担心容量问题
  • 缓存数据会在虚拟机重启的过程中写入磁盘
  • 可以通过RMI、可插入API等方式进行分布式缓存
  • 具有缓存和缓存管理器的侦听接口
  • 支持缓存管理器实例,以及一个实例的多个缓存区域
  • 提供Hibernate的缓存实现

集成

可以单独使用,一般在第三方库中被用到的比较多(如mybatis、shiro等)ehcache 对分布式支持不够好,多个节点不能同步,通常和redis一块使用

灵活性

ehcache具备对象api接口可序列化api接口
不能序列化的对象可以使用出磁盘存储外ehcache的所有功能
支持基于Cache和基于Element的过期策略,每个Cache的存活时间都是可以设置和控制的。
提供了LRU、LFU和FIFO缓存淘汰算法,Ehcache 1.2引入了最少使用和先进先出缓存淘汰算法,构成了完整的缓存淘汰算法。
提供内存和磁盘存储,Ehcache和大多数缓存解决方案一样,提供高性能的内存和磁盘存储。
动态、运行时缓存配置,存活时间、空闲时间、内存和磁盘存放缓存的最大数目都是可以在运行时修改的。

应用持久化

vm重启后,持久化到磁盘的存储可以复原数据
Ehache是第一个引入缓存数据持久化存储的开源java缓存框架,缓存的数据可以在机器重启后从磁盘上重新获得
根据需要将缓存刷到磁盘。将缓存条目刷到磁盘的操作可以通过cache.fiush方法执行,这大大方便了ehcache的使用

 

四,redis的安装以及使用?

1,先从github上下载window版本,支持32和64位,这时候我们下载Redis-x64-xxx.zip压缩包到 C 盘解压改名为 redis

 

 

2,打开com窗口(win+R   --> 输入 cmd),使用cd命令切换到C:/redis      

cd..
cd redis

 3,在C:/redis 目录下执行以下命令 打开服务    

redis-server.exe redis.windows.conf 

 

成功后的效果图

4,这时候要打开另个cmd窗口,不要关闭原来的cmd窗口,不然redis服务会关闭。  

5,打开cmd窗口,切换到redis目录下  执行以下命令 

redis-cli.exe -h 127.0.0.1 -p 6379

 这样就进入了redis的命令操作

五,常用的redis命令 

Redis -cli       --操作redis数据库(需要在redis目录下执行哦)
Quit              --关闭操作redis数据库

六,对键的操作

1,设置键值(key)对的值(value),删除键。  

Set key value     --设置键值
Del key              --删除键

 2,判断一个键是不是存在。

Exists key

 3,设置一个key的过期时间  

Expire key 10       单位:秒

4,删除key的过期时间(在过期之前进行才有意义)

Prsist key

5,查询符合某个模式的key

Keys    goods*     -- 查询有以goods开头的key
Keys    *          --查询所有的key

6,查询key对应的类型

Type key

1、删除所有的key,可以使用redis自身的命令:

flushdb  删除当前数据库中的所有Key  

flushall  删除所有数据库中的key  

2、使用linux中的xargs来删除所有的key

redis-cli keys "*" | xargs redis-cli del

3、删除包含有某些关键字的key

redis-cli keys "xxx*" | xargs redis-cli del

4、如果需要指定密码,可以这样使用:

redis-cli -a pwd keys "*" | xargs redis-cli -a pwd del 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值