memcache,做LINUX运维都需要掌握什么?
运维需要用到的东西很杂,从硬件设备到软件维护。
硬件设备 比如服务器的安装 网络的部署布局 ,最好能够了解防火墙,路由器,交换机的设置。
LINUX系统的深入了解。最好能够深入到内核和代码层面
部署在linux服务器上的应用的了解和维护,比如tomcat apache weblogic nagios cacti等。包括开发人员编写的软件,都需要去进行维护和调优建议,最好了解js和java语言。服务器的各种使用情况的监控,如磁盘,cpu,mem,io等。
架构设计的了解,以及自动化运维的脚本编写。
比如搭建集群或负载模式的架构等,实现服务器的多机热备高可用。
脚本编写,以减少人力操作来提高执行效率和准确性,一般需要shell,python,perl一类的语言基础,也包括awk,except等小语种使用。
数据库的维护
熟悉主流的数据库操作,主要是添删改查的操作。
oracle,mysql,芒果db,db2,memcache,redis等
thinkphp5和6有什么区别?
1. 核心架构:ThinkPHP5使用的是MVC架构,而ThinkPHP6使用的是MVVM架构;
2. 命名空间:ThinkPHP5没有使用命名空间,而ThinkPHP6使用了命名空间;
3. 模板引擎:ThinkPHP5使用的是Smarty模板引擎,而ThinkPHP6使用的是Blade模板引擎;
4. 数据库支持:ThinkPHP5支持MySQL、MongoDB、Redis等数据库,而ThinkPHP6只支持MySQL;
5. 日志系统:ThinkPHP5使用的是Log类,而ThinkPHP6使用的是Logger类;
6. 命令行支持:ThinkPHP5支持命令行,而ThinkPHP6不支持命令行;
7. 文件系统:ThinkPHP5使用的是File类,而ThinkPHP6使用的是Filesystem类;
8. 异常处理:ThinkPHP5使用的是Error类,而ThinkPHP6使用的是Exception类;
9. 数据库操作:ThinkPHP5使用的是Db类,而ThinkPHP6使用的是Query类;
10. 缓存支持:ThinkPHP5支持Memcache、Redis等缓存,而ThinkPHP6只支持Redis缓存。
Java工程师是如何使用Redis的?
在分布式和微服务等架构遍地开花的实践中,Redis始终作为分布式缓存的首选,可谓经久不衰、独树一帜。Redis基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
而为何要使用Redis呢?Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持master-slave(主-从)模式应用。Redis支持数据持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Redis单个value的最大限制是1GB,memcached只能保存1MB的数据。基于种种原因,Redis成为我们缓存架构的首选,而我在开启码农生涯时,就接触到Redis,只是当时的使用比较简单。
最开始时,因互联网化团队初建,各种所需要的中间件都需要自己搭建,包含Redis,而我们使用Docker搭建Redis集群,采用主从的Redis架构,再使用Sentinel(哨兵)模式来监控该Redis集群,使用也是通过Sentinel来使用。通过Spring或Spring Boot的哨兵连接方式连接Redis,注册成Bean,然后使用序列化的Key-Value结构来缓存所需要的数据。而因领导的风格原因,我们也仅仅被允许采用Key-Value的基础功能来进行Redis操作。至于其中的原因,也没有深究。
而随后,跳槽到现公司,其将Redis作为基础服务进行封装,而业务团队仅通过加密串即可进行直接连接,其背后的可高用、主从分片、灾备等均由基础架构团队负责。基础架构团队提供的操作方式,就不仅仅限于使用Key-Value的get、set、delete等方法,而几乎完全提供了Redis的所有命令,包含inc、sadd等计数、集合操作。当然,有了这些,对程序员的要求更高,要在合适的场景中选择恰当的命令进行操作,也不是一件容易的事。
或许,使用Redis有这样那样的原因,但在我看来,最重要的就两条:其一,它能提高用户的访问速度,大量的降低系统响应的TP99;其二,它是主流,大家都在用,而且经过了时间的检验,抗住了一个又一个电商大促的业务场景。
作者:夕阳雨晴,欢迎关注我的头条号。偶尔美文,主流Java,为你讲述不一样的码农生活。
Java程序员如何提升自身实力?
谢谢邀请!
夯实基础,比如说,Java基础,数据库,web前端,Java web开发,还有项目等,在简历中,着重突出项目,项目过程中遇到的问题,是怎么解决的,还有你对哪些技术掌握的比较好。
学习Java的时候的学习路线,可以作为参考。
详细的可以到“如鹏网”上去了解一下,有网络的地方就可以学习,根据自己的时间来灵活安排学习进度。每个章节的后面都有相应的练习题和面试题,需要通过录音的方式来进行提交,有新的课程更新了,也是可以继续来学习的,Java提高学习路线。
第二阶段:NoSQL
第三阶段:设计模式
第四阶段:分布式技术
第五阶段:综合项目——综合应用提高班的技术开发一个基于微服务架构的移动商城系统。
技术栈有哪些?
数据库:如MySQL、PostgreSQL、MongoDB等。
缓存:如Redis、Memcache等。
服务器:如Tomcat、Nginx、Apache等。
版本控制:如Git、SVN等。
测试框架:如JUnit、Selenium等。
部署工具:...