最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 可移植性:Redis 使用用标准 C语言编写的,能够在大多数操作系统上运行,比如 Linux,Mac,Solaris 等。
- 支持数据备份,即master-salve模式的数据备份
一,Redis安装部署
注:make prefix=安装路径 install
[root@localhost ~]# tar zxf /mnt/redis-3.2.9.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/redis-3.2.9/
[root@localhost redis-3.2.9]# make && make install
make install 只有安装了二进制文件到系统,并没有启动脚本和配置文件。软件包中默认提供了一个install.server.sh脚本文件,通过该脚本文件可以设置Redis服务所需要的相关配置文件。
一直保持默认即可,回车,回车,回车
[root@localhost redis-3.2.9]# cd /usr/src/redis-3.2.9/utils/
[root@localhost utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port : 6379 #端口号
Config file : /etc/redis/6379.conf #设置默认设置文件
Log file : /var/log/redis_6379.log #设置日志文件
Data dir : /var/lib/redis/6379 #执行命令
Executable : /usr/local/bin/redis-server #客户端命令
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
/var/run/redis_6379.pid exists, process is already running or crashed
Installation successful!
安装完成后,可以通过Redis的服务控制脚本/etc/init.d/redis_6379来对Redis服务进行控制,如停止Redis服务,启动Redis服务,重启Redis服务,查看Redis允许状态。
[root@localhost ~]# /etc/init.d/redis_6379 stop
Stopping ...
Redis stopped
[root@localhost ~]# /etc/init.d/redis_6379 start
Starting Redis server...
[root@localhost ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
[root@localhost ~]# /etc/init.d/redis_6379 status
Redis is running (4582)
配置参数
[root@localhost ~]# vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.2.1 #监听的主机地址
port 6379 #端口
daemonize yes #启动守护进程
pidfile /var/run/redis_6379.pid #指定PID文件
loglevel notice #日志级别
logfile /var/log/redis_6379.log #指定日志文件
[root@localhost ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
二,Redis命令工具
redis-server:用于启动Redis的工具
redis-benchmark:用于检测Redis的工具
redis-check-aof:修复AOF持久化文件
redis-check-rdb:修复RDB持久化文件
redis-cli:Redis命令行工具
redis-setinel:redis-server文件的软链接
1.redis-cli命令行工具
[root@localhost ~]# redis-cli //连接本机上的Redis数据库
127.0.0.1:6379> ping //检测Redis服务是否启动
PONG
127.0.0.1:6379>
指定远程主机上的Redis数据库,命令语法为Redis-cli -h host -p port -a password。-h指定远程主机,-p指定Redis服务的端口号,-a指定密码。若要退出数据库环境,执行exit或quit命令即可返回原来的Shell环境。
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> exit
2.redis-benchmark测试工具
基本测试语法为 redis-benchmark [option] [option value]。
查用选项:
-h:指定服务器主机名
-p:指定服务器端口
-s:指定服务器socket
-c:指定并发连接数
-n:指定请求连接数
-d:以字节(B)的形式指定SET/GET值的数据大小
-k:1=keep alive 0=reconnect
-r:SET/GET/INCR使用随机key,SADD使用随机值
-P:通过管道传输请求
-q:强制退出redis。仅显示query/sec 值
–cav:以CSV格式输出
-l:生成循环,永久执行测试
-t:仅运行以逗号分割的测试命令列表
-i:ldie模式。仅打开N个idle连接等待
可以针对某台Redis服务器进行性能检测,执行redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 命令即可向本机,端口为6379的Redis发送100个并发连接与100000个请求测试性能。
[root@localhost ~]# redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 1000000
====== PING_INLINE ======
1000000 requests completed in 7.08 seconds
100 parallel clients
3 bytes payload
keep alive: 1
三,Redis数据库常用命令
set:存放数据,基本的命令格式为set key value
get:获取数据,基本的命令格式为get key
[root@localhost ~]# redis-cli 127.0.0.1:6379> set teacher cjx OK 127.0.0.1:6379> get teacher "cjx"
key相关命令
127.0.0.1:6379> KEYS * 1) "mylist" 2) "counter:__rand_int__" 3) "s2" 4) "s3" 5) "key:__rand_int__" 6) "s1" 7) "teacher"
exists:使用exists命令可以判断键值是否存在。integer 0 代表此键不存在
127.0.0.1:6379> exists teacher (integer) 1 127.0.0.1:6379> exists fiush (integer) 0
del:使用del命令可以删除当前数据库的指定key。integer 0 代表此键不存在
127.0.0.1:6379> del s1 (integer) 1 127.0.0.1:6379> del s6 (integer) 0
type:使用type命令可以获取key对应的value值类型。
127.0.0.1:6379> type teacher string
rename:rename命令是对key进行重命名,格式为“ rename 源key 目标key”。使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。
127.0.0.1:6379> keys * 1) "s2" 2) "s3" 3) "s1" 127.0.0.1:6379> rename s2 s22 OK 127.0.0.1:6379> keys * 1) "s22" 2) "s3" 3) "s1" 127.0.0.1:6379> rename s1 s3 OK 127.0.0.1:6379> keys * 1) "s3" 2) "s22"
renamenx命令的作用是对已有key进行重命名,并检测新名是否存在。使用renamenx命令进行重命名时,如果目标key存在则不进行重命名。
127.0.0.1:6379> renamenx s22 s2 (integer) 1 127.0.0.1:6379> keys * 1) "s2" 2) "s3" 127.0.0.1:6379> renamenx s3 s2 (integer) 0 127.0.0.1:6379> keys * 1) "s2" 2) "s3"
dbsize命令时查看当前数据库中key的数目
127.0.0.1:6379> dbsize (integer) 2
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!