Redis环境搭建和使用的方法


这篇文章主要介绍“Redis环境搭建和使用的方法”,在日常操作中,相信很多人在Redis环境搭建和使用的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis环境搭建和使用的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的(BSD协议)使用ANSI C语言编写,基于内存的且支持持久化,高性能的Key-Value的NOSQL数据;Redis支持的数据结构类型很丰富,如 :字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 以及范围查询, bitmaps(位图), hyperloglogs (超级日志)和 地理空间(geospatial) 索引半径查询等等。并且Redis有着丰富的支持主流语言的客户端,C/C++、Python、Erlang、R、C#、Java、PHP、Objective-C、Perl、Ruby、Scala、Go、JavaScript等;Redis 内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过 Redis Sentinel 和 Redis Cluster 自动分区提供高可用性;我们可以将Redis应用在缓存(StackOverFlow)、数据库、消息中间件等上。 点我返回目录安装准备:Linux虚拟机:CentOS7、操作工具:Xshell 、Xftp
下载配置文件生成缓存1、因为Redis是使用ANSI C语言编写的,所以我们要先安装gcc依赖2、使用Xftp上传Redis压缩的安装包到Linux虚拟机并解压上传的压缩包的路径,可以自己指定或创建上传的目录
小北是上传到了/usr/local/module/目录,然后解压到了/usr/local/soft/目录下3、进入解压好的目录redis-3.0.0,编译make下面shell命令是用于测试make的,可用可不用创建安装目录安装4、复制配置文件配置环境变量添加环境变量让环境变量修改生效5、启动Redis后台启动关闭redis的命令,要先获取Redis的进程号,杀死该进程6、连接Redis查看启动日志:
后台启动Redis7、测试使用Redis插入一条数据查询数据1、Help帮助命令2、SET免费云主机域名命令 点我返回目录3、过期命令Redis中可以给Key设置一个生存时间(秒或毫秒),当达到这个时长后,这些键值将会被自动删除。4、查找键命令5、操作键命令6、GET命令7、步长命令8、登录不同的库命令9、清除当前库数据命令10、清除所有库中的数据命令位图不是真正的数据类型,它是定义在字符串类型中的,我们知道一个字符串类型的值最多能存储512M字节的内容,其中位上限:2^(9+10+10+3) =2^32b1、位图常用命令
2、位操作命令对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 dteskey 上operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种BITOP AND destkey key [key …] ,对一个或多个 key 求逻辑并,并将结果保存到 destkeyBITOP OR destkey key [key …] ,对一个或多个 key 求逻辑或,并将结果保存到 destkeyBITOP XOR destkey key [key …] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkeyBITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0空的 key 也被看作是包含 0 的字符串序列3、统计指定位区间上值为1的个数1、Redis的 key 键Redis的 key 值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值。Key取值原则:键值不需要太长,太长会消耗内存,且在数据中查找这类键值的计算成本较高键值不宜过短,过短则可读性较差2、Redis的 Value 值1、String字符串字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数据;并且一个字符串类型的值最多能存储512M字节的内容。2、 List列表List列表是基于Linked List实现的,列表中的元素是字符串类型;而列表的头尾增删速度快,中间增删速度慢,正常使用过程中增删元素是常态,列表中元素可以重复出现,并且列表中最多能包含2^32-1个元素列表的索引从左至右,从0开始;从右至左,从-1开始3、 Hash散列Hash散列是由field和关联的value组成的map键值对,而field和value都是字符串类型,一个hash中最多包含2^32-1键值对。1).使用Hash的优点节约内存空间每创建一个键,它都会为这个键储存一些附加的管理信息(例如这个键最后一次被访问的时间等等)所以数据库里面的键越多,Redis数据库服务器在储存附加管理信息方面耗费的内存就会越多,那么用在管理数据库键上的CPU也会越多,在字段对应的值上进行浮点数的增量计算。2).不适合使用Hash的情况使用二进制位操作命令:因为Redis目前支持对字符串键进行SETBIT、GETBIT、BITOP等操作,若要使用这些操作,那么只能使用字符串键,虽然散列也能保存二进制数据使用过期键功能:Redis的键过期功能目前只能对键进行过期操作,而不能对散列的字段进行过期操作,因此如果你要对键值对数据使用过期功能的话,那么只能把键值对储存在字符串里面4、Set集合 Set集合内存储的元素是无序的、去重的,元素是字符串类型,最多包含2^32-1个元素5、SortedSet有序集合SortedSet有序集合与Set集合类似,它是有序的、去重的,元素是字符串类型,每一个元素都关联着一个浮点数分值(Score),并按照分值从小到大的顺序排列集合中的元素。其分值可以相同;最多包含2^32-1个元素。 Redis持久化是指将数据从掉电易失的内存存放到能够永久存储的设备上
Redis持久化两种方式:RDB(Redis DB) 和 AOF(AppendOnlyFile)
1、Redis持久化-RDB在默认情况下,Redis 将数据库快照保存在名字为 dump.rdb的二进制文件中(1)RDB使用策略自动:按照配置文件中的条件满足就执行BGSAVE
save 60 10000,Redis要满足在60秒内至少有10000个键被改动,会自动保存一次手动:客户端发起SAVE、BGSAVE命令注意:RDB策略会容易造成数据丢失(2)SAVE命令在redis 客户端使用 save命令用于将数据持久化的保存到disk(磁盘)中,但执行该命令时会阻塞Redis服务,无法响应客户端请求,也就是在服务器执行save命令期间,Redis服务器不允许执行其它的命令直到save命令执行完,执行save命令会创建新的dump.rdb替代旧文件。(3)BGSAVE命令(该命令是在后台执行的,是一个异步命令)
在redis客户端 使用 bgsave命令时,不会阻塞Redis服务,也就是非阻塞,Redis服务正常接收处理客户端请求,并且Redis会folk()一个新的子进程来创建RDB文件,子进程处理完后会向父进程发送一个信号,通知它处理完毕,父进程用新的dump.rdb替代旧文件(4)SAVE 和 BGSAVE 命令的区别SAVE不用创建新的进程,速度略快BGSAVE需要创建子进程,消耗额外的内存SAVE适合停机维护,服务低谷时段BGSAVE适合线上执行(5)RDB持久化的优缺点优点完全备份,不同时间的数据集备份可以做到多版本恢复紧凑的单一文件,方便网络传输,适合灾难恢复恢复大数据集速度较AOF快缺点会丢失最近写入、修改的而未能持久化的数据folk过程非常耗时,会造成毫秒级不能响应客户端请求2、Redis持久化-AOFAppend only file(AOF),该方式采用追加的方式保存数据默认保存的文件appendonly.aof;该方式会记录所有的写操作命令在服务启动的时候使用这些命令就可以还原数据库调整AOF持久化策略,可以在服务出现故障时,不丢失任何数据,也可以丢失一秒的数据。相对于RDB方式损失要小得多(1)AOF写入机制AOF方式不能保证绝对不丢失数据目前常见的操作系统中,执行系统调用write函数,将一些内容写入到某个文件里面时,为了提高效率,系统通常不会直接将内容写入硬盘里面,而是先将内容放入一个内存缓冲区(buffer)里面,等到缓冲区被填满,或者用户执行fsync调用和fdatasync调用时才将储存在缓冲区里的内容真正的写入到硬盘里,而在未写入磁盘之前,数据可能会丢失。(2) 写入磁盘的策略在redis.conf文件中的appendfsync选项,这个选项的值可以是always、everysec或者noAlways:服务器每写入一个命令,就调用一次fdatasync,将缓冲区里面的命令写入到硬盘。这种模式下,服务器出现故障,也不会丢失任何已经成功执行的命令数据Everysec(默认):服务器每一秒重调用一次fdatasync,将缓冲区里面的命令写入到硬盘。这种模式下,服务器出现故障,最多只丢失一秒钟内的执行的命令数据No:服务器不主动调用fdatasync,由操作系统决定何时将缓冲区里面的命令写入到硬盘。这种模式下,服务器遭遇意外停机时,丢失命令的数量是不确定的运行速度:always的速度慢,everysec和no都很快(3)AOF重写机制AOF文件过大合并重复的操作,AOF会使用尽可能少的命令来记录重写的过程folk一个子进程负责重写AOF文件子进程会创建一个临时文件写入AOF信息父进程会开辟一个内存缓冲区接收新的写命令子进程重写完成后,父进程会获得一个信号,将父进程接收到的新的写操作由子进程写入到临时文件中新文件替代旧文件注意:如果写入操作的时候出现故障导致命令写半截,可以使用redis-check-aof工具修复(4)AOF重写触发手动:客户端向服务器发送BGREWRITEAOF命令自动:配置文件中的选项,自动执行BGREWRITEAOF命令auto-aof-rewrite-min-size ,触发AOF重写所需的最小体积:只要在AOF文件的体积大于等于size时,才会考虑是否需要进行AOF重写,这个选项用于避免对体积过小的AOF文件进行重写auto-aof-rewrite-percentage ,指定触发重写所需的AOF文件体积百分比:当AOF文件的体积大于auto-aof-rewrite-min-size指定的体积,并且超过上一次重写之后的AOF文件体积的percent %时,就会触发AOF重写。(如果服务器刚刚启动不久,还没有进行过AOF重写,那么使用服务器启动时载入的AOF文件的体积来作为基准值)。将这个值设置为0表示关闭自动AOF重写举例:(5)AOF持久化的优缺点优点写入机制,默认fysnc每秒执行,性能很好不阻塞服务,最多丢失一秒的数据重写机制,优化AOF文件如果误操作了(例如:FLUSHALL等),只要AOF未被重写,停止服务移除AOF文件尾部FLUSHALL命令,重启Redis,可以将数据集恢复到 FLUSHALL 执行之前的状态缺点相同数据集,AOF文件体积较RDB大了很多恢复数据库速度叫RDB慢(文本,命令重演)首先需要在idea中的maven中的依赖配置文件pom.xml中导入jedis的依赖包,这里北使用的3.0版本的redis,那么导入的jedis依赖也是对应版本的;若是其它版本可以在maven仓库中选择对应版本,链接地址:https://mvnrepository.com/artifact/redis.clients/jedisidea中建立连接到此,关于“Redis环境搭建和使用的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: Redis怎么配置认证密码

本篇内容主要讲解“Redis怎么配置认证密码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis怎么配置认证密码”吧!redis配置密码1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/23 22:13
下一篇 01/23 22:30