redis的简介安装及命令客户端
qingheluo2019-08-05清河洛448
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。Redis支持字符串(string), 哈希(hash), 列表(list), 集合(set)和有序集合(SortedSet/zset)五种类型的数据结构redis中没有数字类型,数字类型是以字符串的形式存储的。官网和下载: Redis官网:https://redis.io
Redis在线测试:http://try.redis.io
windows下载:https://github.com/microsoftarchive/redis/r...
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
Redis支持字符串(string), 哈希(hash), 列表(list), 集合(set)和有序集合(SortedSet/zset)五种类型的数据结构
redis中没有数字类型,数字类型是以字符串的形式存储的。
官网和下载:
Redis官网:https://redis.io Redis在线测试:http://try.redis.io windows下载:https://github.com/microsoftarchive/redis/releases https://github.com/tporadowski/redis linux下载:http://redis.io/download
Redis的安装:
linux下首先进入安装目录下运行make编译,然后在src目录中make PREFIX=安装目录 install
redis6版本开始需要gcc版本在5.3以上,而centos7默认安装4.8.5,可以使用gcc -v查看gcc版本 使用yum安装gcc yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 安装完成后运行scl enable devtoolset-9 bash临时把gcc版本换为9 在/etc/profile文件末尾添加"source /opt/rh/devtoolset-9/enable"永久改变gcc版本 或者直接运行echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
windows下通过程序根目录下redis-server.exe程序直接运行即可
windows下服务的安装、启动和删除 --service-install 安装服务 --service-name:自定义安装服务的服务名称 --service-start:启动服务 --service-stop:停止服务 --service-uninstall:删除服务 命令:path/redis/redis-server.exe --service-install --service-name redis-service-name path/redis/redis.conf 或者:sc create redis-service-name binPath= "path/redis/redis-server.exe --service-run path/redis/redis.conf" DisplayName= "Redis" start= auto depend= TCPIP
Redis程序文件:
linux下为安装目录下的src目录,windows下为程序根目录
redis-server[.exe]:启动redis服务 redis-cli[.exe]:Redis命令客户端 redis-benchmark[.exe]:Redis测试工具 redis-check-aof[.exe]:AOF文件修复工具 redis-check-dump[.exe]:RDB文件检查工具 redis-sentinel:Sentinel服务器,哨兵模式监视服务器(仅linux下有) redis[.windows].conf:配置文件
启动redis服务
redis-server[.exe]) 配置文件
–-port 端口号 指定服务的端口号
--loglevel verbose:指定服务运行的日志记录等级
--slaveof ip port:指定主服务器ip和端口
Linux中启动服务常见的3个错误: 1、you have Transparent Huge Pages (THP) support enabled... 在文件/etc/rc.d/rc.local中添加: if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled fi 然后设置改文件可执行权限chmod 755 /etc/rc.d/rc.local 2、The TCP backlog setting of 511 cannot be enforced because... 设置socket监听(listen)的backlog上限,在配置文件/etc/sysctl.conf中添加配置项net.core.somaxconn 推荐设置为net.core.somaxconn=1024 backlog是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。 而socket server可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中。 当server处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝。 net.core.somaxconn限制接收新TCP连接侦听队列的大小。 3、overcommit_memory is set to 0! Background save may fail... 设置内存分配策略,在配置文件/etc/sysctl.conf中添加配置项vm.overcommit_memory 该配置项可选值为0,1,2,推荐设为vm.overcommit_memory=1 0表示内核将检查是否有足够的可用内存供应用进程使用,如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。 1表示内核允许分配所有的物理内存,而不管当前的内存状态如何。 2表示内核允许分配超过所有物理内存和交换空间总和的内存 4、添加redis端口到防火墙 firewall-cmd --zone=public --permanent --add-port=6379/tcp firewall-cmd --reload
Redis命令客户端(redis-cli[.exe])的使用参数:
redis-cli[.exe]命令用于启动redis的命令交互客户端,在redis中命令不区分大小写。启动命令交互客户端时的常见参数:
-h:指定连接的主机地址(默认127.0.0.1) -p:指定连接的端口号(默认6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字) -s:指定连接的socket套接字(host:prot),windows不支持 -a:指定连接到服务器时使用的密码 -r:执行指定的命令的次数 -i:使用-r时,每个命令等待的秒数 -n:数据库编号 -x:从stdin(标准输入)读取最后一个参数 -d:指定分隔符(默认) -c:启用群集模式(遵循-ask和-moved重定向) --raw:使用原始格式输出(有时出现中文乱码时使用该选项) --no-raw:即使stdout不是tty,也强制格式化输出 --csv:以csv格式输出 --stat:打印有关服务器的滚动状态:mem、客户机等信息 --latency:进入特殊模式连续采样延迟 --slave:模拟从系统,显示从主系统接收到的命令 --rdb :将RDB转储从远程服务器传输到本地文件 --pipe:将原始redis协议从stdin(标准输入)传输到服务器 --pipe-timeout :在--pipe模式下,如果在发送完所有数据后终止或在秒内未收到回复会出错,默认30,使用0永久等待 --scan:使用scan命令列出所有键 --pattern :与--scan一起使用可以指定扫描模式 --intrinsic-latency :运行指定的秒数的测试以测量内部系统延迟。 --eval :使用上的lua脚本发送eval命令 --help:获取帮组信息并退出 --version:获取版本信息并退出