0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows环境下使用Redis缓存工具的图文详细方法

lhl545545 来源:电子发烧友网 2018-02-09 14:25 次阅读

一、简介

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。

二、下载redis

Redis 官网 :http://redis.io/

下载页面:http://redis.io/download

官方文档:http://redis.io/documentation

Windows 版本下载:https://github.com/dmajkic/redis/downloads

三、环境搭建

1. 放到磁盘里面。

Windows环境下使用Redis缓存工具的图文详细方法

2. 根据操作系统 进入相应的目录 ,启动redis服务端 redis-server.exe redis.conf

Windows环境下使用Redis缓存工具的图文详细方法

3. 根据操作系统 进入相应的目录 ,启动redis客户端。

Windows环境下使用Redis缓存工具的图文详细方法

4. 测试redis缓存机制。

redis-cli.exe -h 127.0.0.1 -p 6379

set keytest valuestest

get keytest

5. 效果如下:

Windows环境下使用Redis缓存工具的图文详细方法

5. 测试调换顺序调用的实例。

这个应用可以用在验证码的校验用以及缓存。

第一个号码 18276487300 发送了一个验证码”1234“,然后存到key-values 里面。

第二个号码 18276487301 发送了一个验证码”2345“,然后存到key-values 里面。

但是第二个验证码先进行验证,所以会先通过18276487301 来获取验证码。

这样就防止了一些验证码不知道对应哪个手机号码了。

Windows环境下使用Redis缓存工具的图文详细方法

后面会根据java配置到项目中应用。

6.如何设置访问密码?

要启动redis客户端,打开终端,输入命令Redis命令行:redis-cli。这将连接到本地服务器,现在就可以运行各种命令了。

Windows环境下使用Redis缓存工具的图文详细方法

四、redis.conf 配置文件

根据操作系统 进入相应的目录 ,会看到一个配置文件redis.conf。

配置文件的原文如下:

View Code

解析过的配置文件:

#是否以后台守护进程运行,默认为no, 取值yes, no

daemonize no

#pid文件存放路径

pidfile /var/run/redis.pid

#配置redis端口,默认6379

port 6379

#绑定ip。默认绑定所有本机ip,一般用在服务器多ip下,可以只监听内网服务器ip,保证服务安全

bind 127.0.0.1

#sock文件

unixsocket /tmp/redis.sock

#客户端超时时间,单位秒

timeout 300

#log级别,支持四个级别,debug,notice,verbose,warning

loglevel verbose

#log文件路径

logfile

#log输出到标准设备,logs不写文件,输出到空设备,/deb/null

logfile stdout

#保存快照的频率,在多长时间内执行一定数量的写操作时,保存快照的频率,可以设置多个条件。如果都注释掉,则不做内存数据持久化。如果只是把redis只用作cache,不开启持久化功能

save

save 900 1

#是否使用压缩

rdbcompression

#快照数据库名称

dbfilename

#数据库存放路径

dir

#redis主从 做法 在从上填上主的IP和端口号 主上不用做任何设置

slaveof

#主库服务器口令,如果主服务器未打开requirepass,则不需要此项

masterauth

#在master服务器挂掉或者同步失败时,从服务器是否继续提供服务

slave-serve-stale-data yes

#设置redis服务密码,如果开启,则客户端连接时需要 -a 指定密码,否则操作会提示无权限

requirepass foobared

#命令改名,相当于linux alias,可以用改功能屏蔽一些危险命令

rename-command

#最大连接数;0 表示不限制

maxclients 128

#最大使用内存(分配的内存),推荐生产环境下做相应调整,我们用的是只用来做高速缓存,限制2G。默认情况下,redis会占用可用的所有内存

maxmemory

#过期策略,提供六种策略

maxmemory-policy volatile-lru

volatile-lru //删除过期和lru 的key(默认值)

allkeys-lru //删除lru算法的key

volatile-random //随机删除即将过期key

allkeys->random //随机删除

volatile-ttl //删除即将过期的

noeviction //永不过期,返回错误

#是否开启appendonlylog,开启的话每次写操作会记一条log。相当于mysql的binlog;不同的是,每次redis启动都会读此文件构建完整数据。即使删除rdb文件,数据也是安全的

appendonly

#日志文件的名称,默认appendonly.aof

appendfilename appendonly.aof

#异步写append file 的策略。类似mysql事物log写方式。三种

appendfsync

appendfsync always //同步,每次写都要flush到磁盘,安全,速度慢。

appendfsync everysec //每秒写(默认值,推荐值)同mysql

appendfsync no //交给操作系统去做flush的动作

#虚拟内存开关

vm-enabled no

#swap文件,不同redis swap文件不能共享。而且生产环境下,不建议放在tmp目录

vm-swap-file /tmp/redis.swap

#vm大小限制。0:不限制,建议60-80% 可用内存大小

vm-max-memory 0

#根据缓存内容大小调整,默认32字节

vm-page-size 32

#page数。每 8 page,会占用1字节内存。vm-page-size * vm-pages 等于 swap 文件大小

vm-pages 134217728

#vm 最大io线程数。注意: 0 标志禁止使用vm

vm-max-threads 4

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Redis
    +关注

    关注

    0

    文章

    379

    浏览量

    10982
收藏 人收藏

    评论

    相关推荐

    Redis实战笔记

    在目前的技术选型中,Redis 俨然已经成为了系统高性能缓存方案的事实标准,因此现在 Redis 也成为了后端开发的基本技能树之一。   基于上述情况,今天给大家分享一份 杰哥 亲笔撰写的内部
    的头像 发表于 02-09 09:12 105次阅读
    <b class='flag-5'>Redis</b>实战笔记

    Redis Cluster之故障转移

    1. Redis Cluster 简介 Redis Cluster 是 Redis 官方提供的 Redis 集群功能。 为什么要实现 Redis
    的头像 发表于 01-20 09:21 291次阅读
    <b class='flag-5'>Redis</b> Cluster之故障转移

    基于javaPoet的缓存key优化实践

    数据库中的热数据缓存redis/本地缓存中,代码如下:   @Cacheable(value = { "per" }, key="#person.getId
    的头像 发表于 01-14 15:18 554次阅读
    基于javaPoet的<b class='flag-5'>缓存</b>key优化实践

    Redis缓存与Memcached的比较

    Redis和Memcached都是广泛使用的内存数据存储系统,它们主要用于提高应用程序的性能,通过减少对数据库的直接访问来加速数据检索。以下是对Redis和Memcached的比较,涵盖了它们的一些
    的头像 发表于 12-18 09:33 265次阅读

    缓存之美——如何选择合适的本地缓存

    Guava cache是Google开发的Guava工具包中一套完善的JVM本地缓存框架,底层实现的数据结构类似于ConcurrentHashMap,但是进行了更多的能力拓展,包括缓存过期时间设置、
    的头像 发表于 11-17 14:24 438次阅读
    <b class='flag-5'>缓存</b>之美——如何选择合适的本地<b class='flag-5'>缓存</b>?

    聊聊缓存击穿的解决方法

    缓存击穿,Redis中的某个热点key不存在或者过期,但是此时有大量的用户访问该key。比如xxx直播间优惠券抢购、xxx商品活动,这时候大量用户会在某个时间点一同访问该热点事件。但是可能
    的头像 发表于 10-23 13:54 247次阅读

    windows11 远程连接工具

    随着远程办公的普及,选择合适的远程桌面工具变得尤为重要。在Windows11上,用户可以利用系统自带的远程桌面功能,或选择更专业的第三方解决方案,如Splashtop。本文将详细介绍如何在
    的头像 发表于 08-06 08:37 469次阅读
    <b class='flag-5'>windows</b>11 远程连接<b class='flag-5'>工具</b>

    K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署高可用 Redis 集群

    前言 Redis 是在开发过程中经常用到的缓存中间件,为了考虑在生产环境中稳定性和高可用,Redis通常采用集群模式的部署方式。 在制定Redis
    的头像 发表于 07-03 15:30 859次阅读
    K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署高可用 <b class='flag-5'>Redis</b> 集群

    使用官方教程搭建Windows的Eclipse IDE环境出错怎么解决?

    使用官方教程搭建Windows的Eclipse IDE环境出错,不知该如何解决?
    发表于 06-18 06:50

    虹科干货 | 多设备协同无忧:Linux环境PCAN固定设备ID/通道分配指南

    插入顺序的影响。继往期文章介绍了Windows环境的实现方法后,本文将详细介绍如何在Linux环境
    的头像 发表于 06-11 15:03 546次阅读
    虹科干货 | 多设备协同无忧:Linux<b class='flag-5'>环境</b><b class='flag-5'>下</b>PCAN固定设备ID/通道分配指南

    请问LSM6DS3TR-C有没有windows的测试工具

    LSM6DS3TR-C有没有windows的测试工具
    发表于 05-20 06:22

    Redis是怎么从单体架构发展到分布式缓存的?

    Redis 架构是如何一步一步发展到今天的样子的?
    的头像 发表于 04-20 15:37 871次阅读
    <b class='flag-5'>Redis</b>是怎么从单体架构发展到分布式<b class='flag-5'>缓存</b>的?

    鸿蒙OpenHarmony【搭建Windows环境

    支持在Windows环境进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译。
    的头像 发表于 04-19 15:42 687次阅读
    鸿蒙OpenHarmony【搭建<b class='flag-5'>Windows</b><b class='flag-5'>环境</b>】

    Redis开源版与Redis企业版,怎么选用?

    点击“蓝字”关注我们数以千计的企业和数以百万计的开发人员Redis开源版来构建应用程序。但随着用户数量、数据量和地区性的增加,成本、可扩展性、运营和可用性等问题也随之而来。Redis企业版
    的头像 发表于 04-04 08:04 1220次阅读
    <b class='flag-5'>Redis</b>开源版与<b class='flag-5'>Redis</b>企业版,怎么选用?

    Redis与MySQL协同升级企业缓存

    传统的MySQL数据库在处理大规模应用时已经到了瓶颈,RedisEnterprise怎样助力突破这一瓶颈?RedisEnterprise与MYSQL共同用作企业级缓存或副本数据库,会产生什么样的火花
    的头像 发表于 02-19 13:18 428次阅读
    <b class='flag-5'>Redis</b>与MySQL协同升级企业<b class='flag-5'>缓存</b>