什么是Redis?
Redis是用C语言开发的一个开源的高性能键值对(key-value)NOSQL 数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是11万次/s,写的速度是8.1万次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求。
Redis下载
官网下载:https://redis.io/download
(推荐)Github下载:https://github.com/redis/redis
Redis的安装
首先 将 redis的.tar 文件上传到服务器中, 进行解压( 提示解压好了 也多等个 10秒)
tar -zxvf 包名
# 或者
unzip 包名
进入解压后的目录中,然后开始配置一下服务器的安装环境
# 尝试安装一下环境吧,大部分 Linux 缺失 gcc-c++ 环境,安装一下,省的安装的时候报错。
yum install gcc-c++
# 1、安装gcc套装
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
# 2、升级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
# 安装环境报错,可能不会影响安装Redis。但是还是建议安装一下相关的环境
# 测试编译 要等待一会 CPU 占用较高 并且可能会报错,建议直接复制上传压缩包到服务器,然后服务器自己解压文件
make test
# 清理失败的内容 如果测试成功了,也清理一下。
make distclean
看到这里,就可以继续下一步了,然后 正式编译安装我们的Redis
# 安装Redis
make install
完事了,接下来 就可以启动了
# 启动命令
redis-server redis.conf
# 不限制IP登录。注意一定要有port。其他可省略!!!
redis-server --bind 0.0.0.0 --port 6369 --requirepass 密码
# 或者
redis-server 配置文件
看到6379 就完事了,我们测试一下连接
# 启动redis-cli
redis-cli
# 连接其他Redis服务器
redis-cli -h 127.0.0.1 -p 6379 -a 密码
或者
redis-cli -h 127.0.0.1 -p 6379 --pass 密码
# 测试连接 成功会出现 pong
ping
停止Redis
# 连接Redis客户端
redis-cli
# 输入
shutdown
Redis 配置
当然,我们将来是给Java 客户端连接来使用的,必须允许外网访问,请设置 配置文件,设置完成后,启动时,请指定配置文件。
防火墙放行6379
# 开放TCP 6379 端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重启防火墙 使得防火墙生效
firewall-cmd --reload
开启外网访问
redis.conf 注释 68 行 添加 69行的内容
开启密码登录
(可以在启动命令追加 redis-server --requirepass mypassword)
将 #requirepass foobared 这行 注释删掉 foobared 为密码,设置你自己喜欢的即可。我这里设置123456
然后 重启的时候 记得执行配置文件哦。不然默认是不会执行配置文件的,你设置就无法生效。
redis-server 配置文件位置
例如:
redis-server /home/redis-6.0.10/redis.conf
确定启动后,我们测试一下能不能连接成功
redis-cli -h 127.0.0.1 -p 6379 -a 123456
# 测试连接
ping
也试一下 的Redis Desktop Manager 来测试一下吧 你们的IP肯定不一样,自己切换
搞定!!!
目前为止Redis支持的键值数据类型如下:
- 1) 字符串类型 string
- 2) 哈希类型 hash
- 3) 列表类型 list
- 4) 集合类型 set
- 5) 有序集合类型 sortedset
- 6) 地理位置 geospatial (3.2 就推出了)
- 7) hyperloglog
- 8) bitmaps
面试题:Redis为什么快?
- C语言编写,更接近底层操作
- redis是基于内存的存储,内存的读写速度非常快;内存带宽 :DDR3 12.8Gb/s、DDR4 2440赫兹 超50Gb/s (来自百度)
- redis是单线程的,不用加锁、解锁,更不会因为死锁所带来新的问题。省去了很多上下文切换线程的时间;
- redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
评论(0)