本文目录:
- 1、Redis技法篇 - 1. Redis的安装与配置
- 2、简单介绍redis以及ubuntu和windows下怎么安装redis和配置文件详解
- 3、mac 安装配置redis
- 4、Redis内存配置和淘汰策略
- 5、Linux安装Redis服务
Redis技法篇 - 1. Redis的安装与配置
Redis可以说是除MySQL之外用的最多的一个数据库了!众所周知,它是一个种非关系型数据库(NoSQL),当然它的出现也绝不是为了取代MySQL。非关系型数据库有很多种类型:面向列的NoSQL、基于图的NoSQL、文档型NoSQL ...... Redis是一种Key-Value型的NoSQL。
使用Redis并不难,他和MySQL的关系也不大,甚至我觉得Redis的学习难度要小于MySQL。但是Redis在目前的技术架构中非常常见,它的作用也绝对不仅仅是缓存中间件,所以很显然这是Java从业者的必备技能。Redis在大厂面试中出现的频率非常的高,学好它能帮助你在面试中脱颖而出!
其实在写这份学习资料的时候,我才刚刚毕业,也谈不上多么精通Redis!但是我觉得学习任何一门数据库都是一个循序渐进的过程。先熟练掌握它的使用、然后了解它的底层原理、接着在实践中应用它、最后就是读源码完全吃透它!因为读者水平有限接下来我将推出 「《Java之禅 | Redis篇》」 ,希望能够给苦海中的同学一些指引,其实我觉得学完这两篇再背一下面经就可以和面试官侃侃而谈了!
最重要的事情说三遍: 「一定要多练、多练、多练!照着文档多敲多写,熟能生巧,切忌光看不动手!」
学习Redis一定逃不过黄健宏老师的这本 「《Redis设计与实现》」 ,这本书并不是教你怎么使用Redis的,而是带你深入了解Redis内部原理的!总结起来就是:通俗易懂、恍然大悟!
当然黄老师还有一本 「《Redis使用手册》」 ,这个的热度远远不如前一本,这本书更像是一本工具书,系统化介绍Redis命令和使用。
视频的话其实我觉得做的比较好的是 「尚硅谷的《Redis6入门到精通》和黑马程序员的《Redis入门到实战》」 。
「《Java之禅 | Redis篇》」 是我接下来要整理并开源的一份资料,我希望它能够以更加通俗易懂地方式教你使用和理解Redis。
写这个的初衷当然是希望后人能够更加顺畅的学习和使用它,我的学习之路其实挺艰难的,感觉很多教学视频讲的都不是太好,然后CSDN博客又有点乱,希望自己能够把我的理解与心得帮助其他人吧!
这份资料全篇分为 「《Redis技法》和《Redis基石》」 两部分。《Redis技法》主要是教你怎么使用,从简单的客户端到Java操作到高级应用,不涉及Redis的原理。《Redis基石》主要是学习Redis的设计思想和内部思路,希望能够窥探到一些Redis的底层实现,帮助大家更好地了解Redis。
作者:一壶漂泊难入喉
原文出处:
简单介绍redis以及ubuntu和windows下怎么安装redis和配置文件详解
先下载redis,找到下载的压缩包 redis-64.3.0.503.zip,解压后,重命名为redis-3.0,置于某个文件夹下(如D:\Program Files)。
1. 运行Redis服务器端
直接双击D:\Program Files\redis-3.0目录下的redis-server.exe文件(redis服务器端),就会以窗口的形式运行Redis服务器(但该窗口不可关闭,否则,Redis服务不可用)。此种运行redis服务器的方式,没有加载指定的配置文件。
2. 运行Redis客户端
直接双击D:\Program Files\redis-3.0目录下的redis-cli.exe文件(redis客户端),如果显示127.0.0.1:6379 ,就说明客户端运行成功。
输入命令: keys *
查看所有的键
如果提示“NOAUTH Authentication required.”,则说明Redis服务器设置了密码,请输入正确的密码后,再来进行其他操作。
输入命令: auth 密码
如果提示OK,就说明密码正确。
Tips:可以将D:\Program Files\redis-3.0目录下的redis-server.exe发送到桌面快捷方式,便于以后快速打开Redis客户端。
3. 将Redis服务安装到本地服务
由于上述启动Redis服务器的方式有点复杂,且redis服务窗口不可关闭。故这里介绍如何将Redis服务安装到Windows系统的本地服务。
复制D:\Program Files\redis-3.0目录下的redis.windows.conf文件,重命名为redis.conf,来作为redis的配置文件。
打开win系统的命令行,依次输入下列命令:
d: (回车,切换到d盘)
cd Program Files\redis-3.0\ (回车,切换至D:\Program Files\redis-3.0目录)
redis-server --service-install redis.conf --loglevel verbose (回车,安装redis本地服务,指定配置文件redis.conf)
操作完成后,就可以到win系统的本地服务管理处,查看和操作Redis服务。(计算机图标右键 - 管理) - 服务和应用程序 - 服务)
4. 设置Redis密码
编辑D:\Program Files\redis-3.0目录下的redis.conf配置文件,找到如下代码:
# requirepass foobared
将其复制一行,去掉前导的#注释符,将foobared改为你要设置的密码,如:
requirepass test
保存退出。
重启Redis服务,配置文件就会生效。
mac 安装配置redis
执行之后的界面如下
配置文件位于redis的安装目录下,文件名为redis.conf
如下图所示:
redis配置信息详解参考
Redis内存配置和淘汰策略
1.在redis安装目录下找到redis.conf,打开找到如下行:
其中的maxmemory bytes即为最大内存配置项,默认是注释掉的会采用 默认的最大内存大小 :在64位操作系统下不限制内存大小,在32位操作系统下最多使用3GB。
2.在客户端通过命令行查看
这里结果为0表示未手动指定过最大内存,采用默认的最大内存。
一般推荐Redis设置内存为最大物理内存的四分之三。
1.在配置文件redis.conf中指定maxmemory参数,例如,如果最大内存是200M,则在配置文件中添加 maxmemory 209751200 ;
2.通过命令 config set maxmemory 209751200 设置,注意,这里如果是通过命令行设置的最大内存大小,在配置文件redis.conf中并不会添加 maxmemory 209751200 这一行内容。
当Redis达到最大的可用内存时,再向其中存入数据则会报OOM,因此,要避免无限制存入数据导致OOM,则需要采用合适的内存淘汰策略。
在讨论Redis的内存淘汰策略之前,我们要先对Redis中过期键的删除机制有个大体的了解;实际上,过期键的删除策略有三种,每种策略下过期键的删除时机均不同。
1. 定时删除
所谓定时删除,就是在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即删除对键的删除操作。其能够对过期键进行立即删除,对内存是友好的,但是因为要维护定时器,对cpu是不友好的。
2. 惰性删除
所谓惰性删除,就是放任过期键不管,但每次获取键时,都检查取得的键是否过期,如果过期的话,就删除该键。如果没有过期,就返回该键。惰性删除对cpu友好,但是由于其无法主动删除过期键,当过期键大量积聚时会占用很大内存,对内存不友好。
3. 定期删除
所谓定期删除,是前两种删除策略的一种折中。会每隔一段时间执行一次删除过期键操作,并通过限制操作执行的时长和频率来减少删除操作对cpu时间的影响。
定期删除会周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度,其特点为:
a)CPU占用设置有峰值,检测频度可自定义设置。
b)内存压力有限,长期占用内存的冷数据会被持续清理。
总结下来,定期删除会周期性抽查存储空间(随机抽查、重点抽查)。
定期删除的难点在于如何确定产出操作执行的时长和频率,如果删除操作执行的太过频繁,或者执行的时间太长,定期删除策略就会退化成定时删除策略,以至于将CPU时间过多的消耗在删除键上面。如果删除操作执行的太少,或者执行的时间太短,定期删除策略又会和惰性删除策略一样,出现内存浪费的情况。因此,必须合理的设置定期删除策略的执行时长和执行频率。
定期删除在一定程度上是一种合理有效的过期键删除策略,但是由于其在执行时长和执行频度的局限性,必须要有另一种机制(策略)确保内存能够获得回收,因此,就需要引入内存淘汰策略。
在redis.conf中指出内存淘汰策略有有以下八种:
1. volatile-lru :从已设置过期时间的key中挑选最近最少使用的数据淘汰;
2. allkeys-lru :从全部key中挑选最近最少使用的数据淘汰;
3. volatile-lfu :从已设置过期时间的key中挑选使用频率最低的数据淘汰;
4. allkeys-lfu :从全部key中挑选使用频率最低的数据淘汰;
5. volatile-random :从已设置过期时间的key中任意选择数据淘汰;
6. allkeys-random :从全部key中任意选择数据淘汰
7. volatile-ttl :从已设置过期时间的key中挑选将要过期的数据淘汰;
8. no-enviction :禁止驱逐数据,这也是默认策略。当内存不足以容纳新入数据时,新写入操作就会报错。
内存淘汰策略的设置与查看
Linux安装Redis服务
环境:centos7.9
版本:redis-6.2.6
查看gcc版本
没有安装的话,安装命令如下
安装包版本redis-6.2.6
将安装包上传到/opt/software目录下
从redis的源码目录中复制redis.conf到redis的安装目录的bin目录下
加密码
搜索requirepass关键字,将#requirepass foobared 注释去掉,foobared修改为密码即可
把 daemonize no 改为 daemonize yes
将redis-cli拷贝到/usr/local/bin/下,让redis-cli指令可以在任意目录下直接使用
启动命令
进入redis,进行简单的测试
进入到/usr/lib/systemd/system/目录
创建redis.service文件,内容如下
加入开机自启动
一些命令
安装配置还是比较简单,常规够用,需要扩展,可以后期再进行配置
【redis安装与配置】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: