redis配置主从机器-如何配置Redis主从机器 (redis配置远程连接)

教程大全 2025-07-14 01:10:30 浏览

如何配置Redis主从机器?

Redis是一款非常流行的内存数据库,它提供了高性能、可扩展和高可用等特性,因此是许多Web应用程序的首选数据库之一。在实际应用中,为了提高Redis的可靠性和可用性,通常需要配置Redis主从机器。

Redis主从机器的基本原理是,将一台机器设置为主 服务器 (Master),另一台机器设置为从服务器(Slave),Master服务器可以执行读写操作,而Slave服务器只能进行读取操作。当Master服务器出现问题或宕机时,Slave服务器会自动接替Master服务器的工作,确保Redis服务的稳定性。

下面是一份示例配置,说明如何配置Redis主从机器:

1. 安装Redis

需要在Master和Slave服务器上安装Redis。这里以Ubuntu操作系统为例,使用以下命令安装Redis:

sudo apt-get updatesudo apt-get install redis-server

安装完成后,可以使用以下命令来检查Redis是否已经启动:

redis-cli ping

如果返回“PONG”,则说明Redis已经成功启动。

2. 修改Redis配置文件

修改Redis的配置文件,以便将Master服务器配置为主服务器,将Slave服务器配置为从服务器。

在Master服务器上,将`/etc/redis/redis.conf`文件的以下配置设置为:

# 将Redis设置为主服务器slaveof no one

在Slave服务器上,将`/etc/redis/redis.conf`文件的以下配置设置为:

# 将Redis设置为从服务器,指向Master服务器的IP地址和端口号slaveof master_ip_address master_port_number

通过修改配置文件,Master服务器将不会指向任何服务器,而Slave服务器将会指向Master服务器的IP地址和端口号。

3. 重启Redis

在Master和Slave服务器上,使用以下命令重启Redis服务:

sudo service redis-server restart

重启完成后,可以使用以下命令检查Redis主从关系是否成功建立:

在Master服务器上,使用以下命令检查是否有Slave服务器连接:

redis-cli info replication

如果返回以下信息,则说明Slave服务器成功连接:

# Replicationrole:masterconnected_slaves:1slave0:ip=slave_ip_address,port=6379,state=online,offset=0,lag=1

在Slave服务器上,使用以下命令检查是否成功连接到Master服务器:

redis-cli info replication

如果返回以下信息,则说明Slave服务器成功连接到Master服务器:

# Replicationrole:slavemaster_host:master_ip_addressmaster_port:6379master_link_status:up...

通过以上步骤,便可成功配置Redis主从机器。在实际应用中,可以使用Redis主从机器来提高Redis的可靠性和可用性,打造更加稳定和高效的Web应用程序。

香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。


装系统微型系统显示硬盘,正常启动确找不见导致启动不了

“硬盘丢失”故障检查处理方法

“硬盘丢失”故障指系统开机时无法检测到硬盘的故障现象,“硬盘丢失”类故障属硬盘子系统硬件故障,大多需要打开机箱检修。“自检硬盘失败”故障在系统加电自检、初始化时常会给出以下信息:

No fixed disk present(硬盘不存在)

HDD Controller Failure(硬盘控制器错误)

Device error(驱动器错误)

drive not ready error(驱动器未准备就绪)

Hard Disk Configuration Error (硬盘配置错误)

Hard Disk Controller Failure (硬盘控制器失效)

Hard Disk Failure (硬盘失效)

Reset Failed(硬盘复位失败)

Fatal Error Bad Hard Disk (硬盘致命错误)

No Hard Disk Installed (没有安装硬盘)

Device error(驱动器错误)

常见“硬盘丢失”故障包括大致包括“CMOS硬盘参数丢失”、“BIOS不识硬盘”和“自检查硬盘失败”三类。 以下分别讨论处理方法。

1、CMOS硬盘参数丢失

“CMOS硬盘参数丢失”故障指BIOS能够识别安装的硬盘,但开机启动时BIOS中设置硬盘参数被自动更新的故障现象。

•分析与处理

“CMOS硬盘参数丢失”故障主要由主板CMOS电路故障、病毒或软件改写CMOS参数导致,“CMOS硬盘参数丢失”故障可按以下步骤检查处理:

1)如果关机一段时间以后,CMOS参数自动丢失,使用时重新设置后,又能够正常启动计算机。 这往往是CMOS电池接触不良或CMOS电池失效引起的,建议检查CMOS电池,确保接触良好,并用电压表检查CMOS电池电压,正常情况应为3V左右(早其有些主板CMOS电池电压为3.6V),如果CMOS电池电压远低于正常值,说明CMOS电池已经失效,一定要及时更换电池,以避免电池漏液,污染主板,将导致主板的损坏。

2)如果是运行程序中死机后CMOS参数自动丢失,很可能是病毒或软件改写CMOS参数导致,请先对系统进行清除病毒工作,以排除某些攻击CMOS的病毒所造成的故障。

3)如果系统安装有防病毒软件,如PC-Cillin,这些软件发现病毒后会改写CMOS,自动将硬盘设置为无。

2、BIOS不识硬盘

“BIOS不识硬盘”故障指开机后系统无法从硬盘启动,进入BIOS设置程序后,选择“IDE HDD AUTO DETECTOIN”选项自动检测硬盘时,BIOS程序无法检查识别硬盘的故障现象。

•分析与处理

“BIOS不识硬盘”故障主要由硬盘安装不当、硬盘物理故障、主板及硬盘接口电路故障、电源故障(电源负载能力差)等原因导致。 “BIOS不识硬盘”故障请按下述步骤检查处理。

1)如果故障是在新装机或新加装硬盘、光驱以及其它IDE设备导致的,请先检查硬盘主从跳线设置是否设置错误,主从跳线设置不当会导致系统不能正确识别安装在同一IDE接口上的两台IDE设备。

2)BIOS不能识别硬盘,先试试系统是否能从软驱起动,如软驱也不能启动系统,很可能是主板和电源故障。

3)如果硬盘转动且转动声正常,检查硬盘数据排线是否断线或有接触不良现象,最好换一根好的数据线试试。

4)如果数据排线无故障,检查硬盘数据线接口和主板硬盘接口是否有断针现象或接触不良现象,如有断针现象,请接通断针。

5)如果系统还是无法识别硬盘,请有另一台机器上检查硬盘,可确认是否是硬盘故障,如是硬盘故障,请更换或维修硬盘。

6)在另一台机器上检查硬盘确认硬盘完好,应进一步检查主板。 可将去掉光驱和第二硬盘,将硬盘插在主板IDE2接口试试;如果去掉光驱和第二硬盘系统能够启动,故障原因是电源功率容量不足;如果将硬盘插在主板IDE2接口BIOS能识别硬盘,则是主板IDE1接口损坏。

7)如果主板两只IDE接口均损坏,可外接多功能卡连接硬盘,使用多功能卡连接硬盘必须修改CMOS参数,禁止使用主板上(ON BOARD)的IDE接口。

8)经上述检查还是无法排除故障,请更换或维修主板。

3、自检硬盘失败

“自检硬盘失败”故障指系统启动自检时无法识别BIOS中所设置硬盘的故障现象。 自检硬盘失败对常能从软盘引导系统,但从软盘引导系统后,无法对硬盘作任何操作。

•分析与处理

“自检硬盘失败”故障主要是由BIOS硬盘参数设置不当、硬盘物理故障、主板及硬盘接口电路故障、电源故障(电源负载能力差)等原因导致。“自检硬盘失败”故障检查可按以下步骤检查处理:

1、“自检硬盘失败”首先检查BIOS中硬盘参数设置,BIOS中硬盘参数设置错误、病毒或软件改写CMOS系统会给出上述提示。

2、一些低速硬盘无法适应系统高速运行的频率,请降低系统外频试试,这种情况在超外频运行于83MHz和75MHz时尤为常见;对外加ISA多功能卡接硬盘的用户,可在BIOS中将ISA Bus的时钟频率降低试试,如在AMI BIOS的“Advanced CMOS Setup”菜单中有一“Bus Clock Selection:”初始化参数设置项,将选项值由16.5MHz改为11.0MHz。

3、经上述检查还是无法排除故障,则故障属于硬盘子系统硬件故障,请按前文所述BIOS不识硬盘打开机箱检修。

这是比较常见的硬盘故障之一,症状一般为系统从硬盘无法启动,从软盘(A驱)启动也无法进入硬盘。

这种故障大都出现在接口电缆或者IDE端口上,硬盘盘体本身故障的可能性不大。 用户可以通过重新插接硬盘电缆或改换IDE口及接口电缆试试,如果顺利的话一般可以发现故障所在。 此外,"系统不认硬盘"故障还可能是硬盘子系统硬件故障,大多需要打开机箱检修,如果是"自检硬盘失败"故障,在系统加电自检、初始化时常会出现如下信息提示:

No fixed disk present(硬盘不存在)

HDD Controller Failure(硬盘控制器错误)

Device error(驱动器错误)

Drive not ready error(驱动器未准备就绪)

Hard Disk Configuration Error (硬盘配置错误)

Hard Disk Controller Failure (硬盘控制器失效)

Hard Disk Failure (硬盘失效)

Reset Failed(硬盘复位失败)

Fatal Error Bad Hard Disk (硬盘致命错误)

No Hard Disk Installed (没有安装硬盘)

Device error(驱动器错误)

就硬盘软故障的范畴而言,常见的"系统不认硬盘"故障包括"CMOS硬盘参数丢失"、"BIOS不识硬盘"、"自检硬盘失败"三类,以下分别讨论处理方法。

1、CMOS硬盘参数丢失

CMOS硬盘参数丢失故障指BIOS能够识别安装的硬盘,但开机启动时BIOS中设置硬盘参数被自动更新的故障现象。 这种故障主要由主板CMOS电路故障、病毒或软件改写CMOS参数导致的,CMOS参数丢失故障可按以下步骤检查处理。

① 如果关机一段时间以后,CMOS参数自动丢失,使用时重新设置,又能够正常启动电脑,这往往是CMOS电池接触不良或CMOS电池失效引起的,建议检查CMOS电池,确保接触良好,并用万用表检查 CMOS 电池电压,正常情况应为3V左右(早期主板CMOS电池电压可能为3.6V),如果CMOS电池电压远低于正常值,说明CMOS电池已经失效,一定要及时更换电池,以避免电池漏液,污染主板,将导致主板的损坏。

② 如果是运行程序中死机后CMOS参数自动丢失,很可能是病毒或软件改写CMOS参数导致,请先对系统进行清除病毒工作,以排除某些攻击CMOS的病毒所造成的故障。 如果系统安装有防病毒软件,如PC-Cillin、RiSing、KV3000等,这些软件发现病毒后会改写CMOS,自动将硬盘设置为无。

来源:(- “硬盘丢失”故障检查处理方法_沙漠的天空_新浪博客

2、BIOS不识别硬盘

“BIOS不识硬盘”故障指开机后系统无法从硬盘启动,进入BIOS设置程序后,选择“IDE HDD AUTO DETECTOIN”选项自动检测硬盘时,BIOS程序无法检查识别硬盘的故障现象。 “BIOS不识硬盘”故障主要由硬盘安装不当、硬盘物理故障、主板及硬盘接口电路故障、电源故障(电源负载能力差)等原因导致。 “BIOS不识硬盘”故障请按下述步骤检查处理。

① 如果故障是在新装机或新加装硬盘、光驱以及其它IDE设备导致的,请先检查硬盘主从跳线设置是否设置错误,主从跳线设置不当会导致系统不能正确识别安装在同一IDE接口上的两台IDE设备。

② BIOS不能识别硬盘,先试试系统是否能从软驱起动,如软驱也不能启动系统,很可能是主板和电源故障。 如果软驱能启动系统,系统还是不能识别硬盘,一般是硬件故障造成的,请打开机箱,开机听听硬盘是否转动,转动声是否正常,如硬盘未转动请检查硬盘电源线(大四针插头,四根连线颜色为黄、黑、黑、红)是否插好,可换一只大四针插头、拔出硬盘数据排线试试,如硬盘还是不转或转动声不正常,可确定是硬盘故障。 如果硬盘转动且转动声正常,检查硬盘数据排线是否断线或有接触不良现象,最好换一根好的数据线试试。 如果数据排线无故障,检查硬盘数据线接口和主板硬盘接口是否有断针现象或接触不良现象,如有断针现象,请接通断针。 ③ 如果系统还是无法识别硬盘,请有另一台机器上检查硬盘,可确认是否是硬盘故障,如是硬盘故障,请更换或维修硬盘。 在另一台机器上检查硬盘确认硬盘完好,应进一步检查主板。 可将去掉光驱和第二硬盘,将硬盘插在主板IDE2接口试试;如果去掉光驱和第二硬盘系统能够启动,故障原因是电源功率容量不足;如果将硬盘插在主板IDE2接口BIOS能识别硬盘,则是主板IDE1接口损坏。 如果主板两只IDE接口均损坏,可外接多功能卡连接硬盘,使用多功能卡连接硬盘必须修改CMOS参数,禁止使用主板上(ON BOARD)的IDE接口。

④ 经上述检查还是无法排除故障,请更换或维修主板。

3、自检硬盘失败

“自检硬盘失败”故障指系统启动自检时无法识别BIOS中所设置硬盘的故障现象。 自检硬盘失败对常能从软盘引导系统,但从软盘引导系统后,无法对硬盘作任何操作。 此故障主要是由BIOS硬盘参数设置不当、硬盘物理故障、主板及硬盘接口电路故障、电源故障(电源负载能力差)等原因导致。 “自检硬盘失败”故障检查可按以下步骤检查处理:

① “自检硬盘失败”首先检查BIOS中硬盘参数设置,BIOS中硬盘参数设置错误、病毒或软件改写CMOS系统会给出上述提示。

② 一些低速硬盘无法适应系统高速运行的频率,请降低系统外频试试,这种情况在超外频运行于83MHz和75MHz时尤为常见;对外加ISA多功能卡接硬盘的用户,可在BIOS中将ISA Bus的时钟频率降低试试,如在AMI BIOS的“Advanced CMOS Setup”菜单中有一“Bus Clock Selection:”初始化参数设置项,将选项值由16.5MHz改为11.0MHz。

③ 经上述检查还是无法排除故障,则故障属于硬盘子系统硬件故障,请按前文所述"BIOS不识别硬盘"打开机箱检修。

除了上面三种情况可能导致系统不认硬盘外,还有其它一些硬件故障也可能使系统不识别硬盘,下面说明的一个案例就是最好的例子。

4、受潮导致系统无法识别硬盘

案例说明:一台微机,长时间未使用,用硬盘启动时,内存自检正常,自检完后,读硬盘时声音大而沉闷,并显示1701 F1 Key to continue.;按F1后,出现Boot disk key to retry.,当击键重试时,机器死锁。用软盘启动时,也显示1701 F1 key to continue.,按F1后,从A盘启动成功,却无法进入硬盘C,屏幕显示Invalid drive specification.

分析与处理:系统保留了C800的绝对地址给硬盘,当系统加电后,执行自检,若对控制器和硬盘检测正常,则调用中断INT 19H进行系统引导,否则提示170X错误信息并陷入死循环。 现系统提示1701错误代码,表示在加电自检过程中已经检测到有硬盘故障存在。

先判别故障是否由软故障引起,用高级诊断盘测试硬盘,但系统不承认已装入硬盘。 又取一张DOS系统盘,放入A盘中启动成功后,用FDISK检查和重新对硬盘进行分区,未成功,屏幕显示No fixed disks present.再试图用FORMAT C:/S格式化硬盘,也未成功,屏幕显示Invalid drive specification.根据上述情况,且根据读硬盘时声音很沉闷,初步推断是硬件故障。

打开机箱,将联结硬盘驱动器的信号电缆线插头、控制卡等重新插紧,开机重试,故障现象仍未消失。 又考虑到该机久未使用,硬盘及硬盘适配器等元件受潮引起故障的可能性较大,决定试用电吹风来进行加热去湿,看能否使受潮的硬盘得到恢复。 在用电吹风加热的过程中,切记要关掉主机电源开关,并且电吹风不能只停留在某一位置,要一边吹一边不停地移动,以免局部过热损坏硬盘元件。 第一次加热去湿后开机重试,故障现象虽未消失,但读硬盘时沉闷的声音明显减小了。 关掉机器后,又用电吹风继续吹硬盘及硬盘适配器等元件。 开机重试,当自检完成后,读硬盘时沉闷的声音消失,硬盘自举成功,故障彻底排除。 该故障的排除也提醒了广大用户,计算机长时间不使用,一定要注意防潮。 3。 系统无法从硬盘启动症状及解决办法

此故障的前提是系统能正常识别硬盘,如果系统不识硬盘,用户可以参考上面的内容进行故障修复。 "系统无法从硬盘启动"一般来说与系统电源、BIOS设置、主板、IDE接口等有关。

如何配置Redis主从机器

用户可以先仔细检查BIOS的各项设置,看看在Standard CMOS Setup中的硬盘信息是否正确,用户可使用Auto Detect ...来自动检测一次硬盘设置。

如果是由于电源故障引起的硬盘不能自举,一般也无法用软盘启动。 为了确认是否为电源故障,最好更换一个电源一试。 如果电源正常,可进一步检查主板。 为了确定故障范围,可用软盘启动看看能否成功。 如果软盘启动工作正常,说明问题可能出在硬盘接口上,可检查IDE插槽接触是否良好。

如果软盘也不能启动,则说明问题可能出在主板控制电路或控制芯片。 这时,可试试外接磁盘接口适配卡,如多功能卡等,但是使用多功能卡之前必须修改CMOS参数,禁止使用主板上(ON BOARD)的IDE接口,即把这些项设置为“Disabled”。 如果经过上述这些诊断后仍然无效,只能更换主板一试了。

硬盘丢失”故障检查处理方法

“硬盘丢失”故障指系统开机时无法检测到硬盘的故障现象,“硬盘丢失”类故障属硬盘子系统硬件故障,大多需要打开机箱检修。“自检硬盘失败”故障在系统加电自检、初始化时常会给出以下信息:

No fixed disk present(硬盘不存在)

HDD Controller Failure(硬盘控制器错误)

Device error(驱动器错误)

drive not ready error(驱动器未准备就绪)

Hard Disk Configuration Error (硬盘配置错误)

Hard Disk Controller Failure (硬盘控制器失效)

Hard Disk Failure (硬盘失效)

Reset Failed(硬盘复位失败)

Fatal Error Bad Hard Disk (硬盘致命错误)

No Hard Disk Installed (没有安装硬盘)

Device error(驱动器错误)

常见“硬盘丢失”故障包括大致包括“CMOS硬盘参数丢失”、“BIOS不识硬盘”和“自检查硬盘失败”三类。 以下分别讨论处理方法。

1、CMOS硬盘参数丢失

“CMOS硬盘参数丢失”故障指BIOS能够识别安装的硬盘,但开机启动时BIOS中设置硬盘参数被自动更新的故障现象。

•分析与处理

“CMOS硬盘参数丢失”故障主要由主板CMOS电路故障、病毒或软件改写CMOS参数导致,“CMOS硬盘参数丢失”故障可按以下步骤检查处理:

1)如果关机一段时间以后,CMOS参数自动丢失,使用时重新设置后,又能够正常启动计算机。 这往往是CMOS电池接触不良或CMOS电池失效引起的,建议检查CMOS电池,确保接触良好,并用电压表检查CMOS电池电压,正常情况应为3V左右(早其有些主板CMOS电池电压为3.6V),如果CMOS电池电压远低于正常值,说明CMOS电池已经失效,一定要及时更换电池,以避免电池漏液,污染主板,将导致主板的损坏。

2)如果是运行程序中死机后CMOS参数自动丢失,很可能是病毒或软件改写CMOS参数导致,请先对系统进行清除病毒工作,以排除某些攻击CMOS的病毒所造成的故障。

3)如果系统安装有防病毒软件,如PC-Cillin,这些软件发现病毒后会改写CMOS,自动将硬盘设置为无。

2、BIOS不识硬盘

“BIOS不识硬盘”故障指开机后系统无法从硬盘启动,进入BIOS设置程序后,选择“IDE HDD AUTO DETECTOIN”选项自动检测硬盘时,BIOS程序无法检查识别硬盘的故障现象。

•分析与处理

“BIOS不识硬盘”故障主要由硬盘安装不当、硬盘物理故障、主板及硬盘接口电路故障、电源故障(电源负载能力差)等原因导致。 “BIOS不识硬盘”故障请按下述步骤检查处理。

1)如果故障是在新装机或新加装硬盘、光驱以及其它IDE设备导致的,请先检查硬盘主从跳线设置是否设置错误,主从跳线设置不当会导致系统不能正确识别安装在同一IDE接口上的两台IDE设备。

2)BIOS不能识别硬盘,先试试系统是否能从软驱起动,如软驱也不能启动系统,很可能是主板和电源故障。

3)如果软驱能启动系统,系统还是不能识别硬盘,一般是硬件故障造成的,请打开机箱,开机听听硬盘是否转动,转动声是否正常,如硬盘未转动请检查硬盘电源线(大四针插头,四根连线颜色为黄、黑、黑、红)是否插好,可换一只大四针插头、拔出硬盘数据排线试试,如硬盘还是不转或转动声不正常,可确定是硬盘故障。

4)如果硬盘转动且转动声正常,检查硬盘数据排线是否断线或有接触不良现象,最好换一根好的数据线试试。

5)如果数据排线无故障,检查硬盘数据线接口和主板硬盘接口是否有断针现象或接触不良现象,如有断针现象,请接通断针。

6)如果系统还是无法识别硬盘,请有另一台机器上检查硬盘,可确认是否是硬盘故障,如是硬盘故障,请更换或维修硬盘。

7)在另一台机器上检查硬盘确认硬盘完好,应进一步检查主板。 可将去掉光驱和第二硬盘,将硬盘插在主板IDE2接口试试;如果去掉光驱和第二硬盘系统能够启动,故障原因是电源功率容量不足;如果将硬盘插在主板IDE2接口BIOS能识别硬盘,则是主板IDE1接口损坏。

8)如果主板两只IDE接口均损坏,可外接多功能卡连接硬盘,使用多功能卡连接硬盘必须修改CMOS参数,禁止使用主板上(ON BOARD)的IDE接口。

9)经上述检查还是无法排除故障,请更换或维修主板。

3、自检硬盘失败

“自检硬盘失败”故障指系统启动自检时无法识别BIOS中所设置硬盘的故障现象。 自检硬盘失败对常能从软盘引导系统,但从软盘引导系统后,无法对硬盘作任何操作。

•分析与处理

“自检硬盘失败”故障主要是由BIOS硬盘参数设置不当、硬盘物理故障、主板及硬盘接口电路故障、电源故障(电源负载能力差)等原因导致。“自检硬盘失败”故障检查可按以下步骤检查处理:

1、“自检硬盘失败”首先检查BIOS中硬盘参数设置,BIOS中硬盘参数设置错误、病毒或软件改写CMOS系统会给出上述提示。

2、一些低速硬盘无法适应系统高速运行的频率,请降低系统外频试试,这种情况在超外频运行于83MHz和75MHz时尤为常见;对外加ISA多功能卡接硬盘的用户,可在BIOS中将ISA Bus的时钟频率降低试试,如在AMI BIOS的“Advanced CMOS Setup”菜单中有一“Bus Clock Selection:”初始化参数设置项,将选项值由16.5MHz改为11.0MHz。

3、经上述检查还是无法排除故障,则故障属于硬盘子系

如何理解而value对于Redis来说是一个字节数组,Redis并不知道value中存储的是什么

Redis不仅仅是一个简单的key-value内存数据库,Redis官网对自身的定义是“数据结构服务器”。 通过用心设计各种数据结构类型的数据存储,可以实现部分的数据查询功能。 因为在Redis的设计中,key是一切,对于Redis是可见的,而value对于Redis来说就是一个字节数组,Redis并不知道你的value中存储的是什么,所以要想实现比如‘select * from users where =shanghai’这样的查询,在Redis是没办法通过value进行比较得出结果的。 但是可以通过不同的数据结构类型来做到这一点。 比如如下的数据定义users:1 {name:Jack,age:28,location:shanghai}users:2 {name:Frank,age:30,location:beijing}users:location:shanghai [1]其中users:1 users:2 分别定义了两个用户信息,通过Redis中的hash数据结构,而users:location:shanghai 记录了所有上海的用户id,通过集合数据结构实现。 这样通过两次简单的Redis命令调用就可以实现我们上面的查询。 Jedis jedis = ();Set shanghaiIDs = (users:location:shanghai);//遍历该set//...//通过hgetall获取对应的user信息(users: + shanghaiIDs[0]);通过诸如以上的设计,可以实现简单的条件查询。 但是这样的问题也很多,首先需要多维护一个ID索引的集合,其次对于一些复杂查询无能为力(当然也不能期望Redis实现像关系数据库那样的查询,Redis不是干这的)。 但是Redis2.6集成了Lua脚本,可以通过eval命令,直接在RedisServer环境中执行Lua脚本,并且可以在Lua脚本中调用Redis命令。 其实,就是说可以让你用Lua这种脚本语言,对Redis中存储的key value进行操作,这个意义就大了,甚至可以将你们系统所需的各种业务写成一个个lua脚本,提前加载进入Redis,然后对于请求的响应,只需要调用一个个lua脚本就行。 当然这样说有点夸张,但是意思就是这样的。 比如,现在我们要实现一个‘所有age大于28岁的user’这样一个查询,那么通过以下的Lua脚本就可以实现public static final String SCRIPT =local resultKeys={};+ for k,v in ipairs(KEYS) do + local tmp = (hget, v, age);+ if tmp > ARGV[1] then + (resultKeys,v);+ end;+ end;+ return resultKeys;;执行脚本代码 Jedis jedis = ();(auth);List keys = (allUserKeys);List args = new ArrayList<>();(28);List resultKeys = (List)(funcKey, keys, args);return resultKeys;注意,以上的代码中使用的是evalsha命令,该命令参数的不是直接Lua脚本字符串,而是提前已经加载到Redis中的函数的一个SHA索引,通过以下的代码将系统中所有需要执行的函数提前加载到Redis中,我们的系统维护一个函数哈希表,后续需要实现什么功能,就从函数表中获取对应功能的SHA索引,通过evalsha调用就行。 String shaFuncKey = (SCRIPT);//加载脚本,获取sha索引(funcName_age, shaFuncKey);//添加到函数表中通过以上的方法,便可以使较为复杂的查询放到Redis中去执行,提高效率。

什么是redis呢,求通俗解释

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 从2010年3月15日起,Redis的开发工作由VMware主持。 redis是一个key-value存储系统。 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。 在此基础上,redis支持各种不同方式的排序。 与memcached一样,为了保证效率,数据都是缓存在内存中。 区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。 它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。 [1]Redis支持主从同步。 数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。 这使得Redis可执行单层树复制。 从盘可以有意无意的对数据进行写操作。 由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。 同步对读取操作的可扩展性和数据冗余很有帮助。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐