美文网首页
Redis 使用教程

Redis 使用教程

作者: 榷奕 | 来源:发表于2019-07-09 15:07 被阅读0次

1. Redis的安装过程

(1) 下载Redis

这里就随便下,无论是安装包也好压缩包也好怎么都行

(2) 配置环境变量

配完了之后可以不需要进入Redis的那个目录,然后可以直接敲redis.....把这个服务启动起来。

(3) 把Redis变成一个服务

至少你在服务页面估计能看到他,然后定成自动启动,省的天天手动。

(4) 设置密码

在Redis这个文件夹里面编辑redis.windows-service.conf,类似的conf文件有两个,千万分清楚这个后面带service的。
使用这种方式设置是永久性设置。


(5) 打开本地客户端

如果要查询里面的键值对是什么之类的,就用redis-cli。
设置了密码之后,上来输入的就是 auth 123456(根据自己的密码改)


###########################################################
安装、打开、设置密码(就是配Redis环境)这些应该也可以用docker完成

2. SpringBoot集成Redis

(1) 在pom里导入一个jar包
(2) yml配置
  redis:
    host: localhost # Redis服务器地址
    database: 0 # Redis数据库索引(默认为0)
    port: 6379 # Redis服务器连接端口
    password:"test" # Redis服务器连接密码(默认为空,以及这里带引号!!!)
    jedis:
      pool:
        max-active: 8 # 连接池最大连接数(使用负值表示没有限制),能制造出来的最大的连接数
        max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-idle: 8 # 连接池中的最大空闲连接,空闲太多可能销毁
        min-idle: 0 # 连接池中的最小空闲连接,务必保持几个控线连接
    timeout: 3000ms # 连接超时时间(毫秒)
(3) 注入Template开始用

经过了上两个步骤之后,其实就已经配置好了,在代码里面注入Template就可以set、get然后启用了。

Teplate目前已知的有两种,一种是RedisTemplate,一种是
StringRedisTemplate(这种其实也就是RedisTemplate<String,String>),就是封装了一下写的高大上了。
所以自己用的时候只能用RedisTemplate,如果需要的话自己写泛型。

序列化器:
由于RedisTemplate里面注入的直接就是object,需要被缓存的类实现了Serielizable接口才行。

简单写一下Serielizable:
Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行状态时,这些对象才能存在,即,这些对象的生命周期不会比JVM更长。但在现实中,就可能要求在JVM运行停止后能够保存(持久化),以便下次运行时重新获取对象,Java对象序列化就能够帮助我们实现该功能。
网络上远程传递的时候也需要实现这个功能。

如果仅仅只是让某个类实现Serializable接口,而没有其他处理的话,则就是使用默认序列化机制。使用默认机制,在序列化对象时,不仅会序列化当前对象本身,还会对该对象引用的其他对象也进行序列化,同样的,这些其他对象引用的另外对象也将被序列化,以此类推。所以,如果一个对象的成员变量是容器类对象,而这些容器含有的元素也是容器类对象,那么这个序列化对象的过程就会很复杂,开销也很大。
transient关键字可以忽略掉某些字段。

3. Redis连接池

(1) 为什么要用连接池:

连接池定义:连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程。

连接池管理的就是连接,每次存取数据的时候,都要new一个连接对象出来,建立一个TCP连接要经历三次握手什么的,这样挺浪费时间的,所以每次用完连接对象之后不释放,存到连接池里面去,下次用连接对象的时候去连接池里面获取。

(2) 手写Redis连接池:

Redis连接池这东西一共就三个函数,一个init,一个getResource,一个release。
其中尤其以getResources为核心。

首先如果要完成连接池保存,要有存储容器,set、list、queue、array、map这些是要选择一下的。
频繁的存取,不能用array,不能用array的也不能用list,map不需要key,queue和set两个平分,最终用queue。
那就要有两个queue来放置空闲的和被使用的连接。

getResource的调用流程:(中间把config都用上了)
如果有空闲连接直接返回
没有空闲的但是目前总数还没超过max,可以再new一个
总数已经到max了,没法new了就只能等
如果超过了等待时间,返回报错

release调用流程:
把这个连接从使用中队列移动到空闲队列

相关文章

  • 在Spring中使用Redis

    Redis安装教程 首先必须在本机上安装Redis数据库,参考Redis安装教程,在使用redis的之前,必须运行...

  • Redis连接及使用问题

    Redis使用以及配置教程: http://www.yiibai.com/redis/redis_java.htm...

  • Redis

    Redis在京东到家的订单中的使用 Redis简明教程

  • Redis 使用+内存管理

    1.Redis使用 Redis基础教程 Redis简介: Redis是一个由ANSI C语言编写,性能优秀、支持网...

  • play framework redis缓存

    接着上一篇的play framework 使用教程 使用教程 build.sbt 添加依赖 添加redis配置 a...

  • redis常用命令教程

    Redis 基础教程 Redis 教程、Redis 安装、Redis 配置、Redis 数据类型 Redis 命令...

  • redis安装启动

    Redis安装 下载地址:http://redis.io/download,下载最新稳定版本。 本教程使用的最新...

  • Redis 使用教程

    1. Redis的安装过程 (1) 下载Redis 这里就随便下,无论是安装包也好压缩包也好怎么都行 (2) 配置...

  • 云数据库 Redis 版功能特性

    关于云数据库 Redis 版详细了解: 云数据库 Redis 版使用教程 (云数据库Redis版是兼容Redis协...

  • Redis教程——走马观花

    Redis教程——检视阅读 参考 Redis教程——菜鸟——蓝本——3.2.100 Redis教程——w3c——3...

网友评论

      本文标题:Redis 使用教程

      本文链接:https://www.haomeiwen.com/subject/peexkctx.html