Home / PostsPost
Redis管理工具 Redis Web Tools
嘟噜聪2016/07/30 17:14:31 19550人已阅
简介 这是一款基于web的Redis管理工具,名字没想好。就先这么叫吧,反正用的是RedisManage取的项目名。
Redis管理工具 Redis Web Tools
这是一款基于web的Redis管理工具,名字没想好。就先这么叫吧,反正用的是RedisManage取的项目名。
序
曾几何时一直在想: 如果能有一款Redis的管理工具就好了, 不用每次都登录服务器执行redis-cli
进入命令行终端端了。
如果是桌面版,那就更好了,然后打开app store 喽了一眼......
然后默默的关闭了app store
如果能有基于web的也行啊,然后我找到了 phpRedisAdmin 。
用了几分钟,默默的删了......
真心挺难用的,不过功能还算全,至少比我下面做的那个初版会多一些。
于是我就蒙起了用自己把会的知识或技术开发一套基于web的管理工具的想法。
实现想法
大概是这样,周一想了想,然后周二就开始干了,周三、周四基本功能完成,周五build (因为预想的build应该会出很多问题) 也没想着在周五之前完成。结果有些出乎意料。
选用的框架都是业界最强大的框架没有之一
本篇文章主要以展示功能为主,不赋实际实现代码,后台可开源,前端...嘿嘿嘿,看我心情,因为重点就是前端UI及功能的实现,主要就是前端。
后端
反复思考,我觉得后端还是用PHP吧,Python毕竟还不算特别熟,搭建环境也比较麻烦,Java开发太慢...
最后决定使用我最喜欢的 Symfony 3 框架,再声明一遍: Symfony是PHP届最强大的框架,没有之一
后端框架用的是最新的3.1版本,环境要求是PHP5.6以上版本。
前端
前端当然得选用单页面来做,AnglerJS ?,可以,但我不太喜欢写HTML,也不够噱头,虽然开发起来方便,比较轻量级。
最后依然选择了我觉得非常强大非常重量级的ExtJS 6,这里也声明一下: ExtJS是最强大的前端MVVM框架,没月之一
ExtJS是Sencha 公司开发的一个产品分支,所以开发或发布的时候也需要Sencha公司的Cmd Tools工具。如果需要修改框架本身的样式则需要对Sass有一点点的了解,推荐学习网站:
w3cplus: 十分钟入门Sass
幕课网: Sass入门篇
Sass: Sass.hk
官网: sencha.com
注意: Sencha的大多数产品都是收费的,ExtJS也是收费的,不过有GPL版本。我用的好像是ExtJS 6.0.1
ExtJs 6 与Sass 我也不太熟,ExtJs与之前的 4.x 版本有些不太一样,我基本都是现学现用,边学边练(^.^) 最终不也做出来了,是不〜
功能设计
最初的功能就只是要连接到服务器然后执行命令就行了。
需要功能:
- 添加、管理服务器
- 连接服务器
- 执行命令
- 记录历史执行命令
- 登录
功能比较简单,可以多个tab来回切换就好了。
登录
最初是不想做这个的,但考虑到需要记录用户之前执行过的命令,还得有一个登录才行,也就是用户管理中心? 这个似乎有点大,先来个小的吧,只要一个登录就好了。
要不对接公司的LDAP?这样就可以不用注册账号,使用公司邮箱就可以登录使用了。可是总感觉好像似乎大家都不太愿意用自己邮箱来访问其他工具,那怎么办呢?收集意见?
要不先这么着吧,就用一个账号行了,后期如果需要的话 可以再扩展。
为了方便使用,最初考虑也是在内网使用,所以没有做什么安全的限制!
仪表盘?
还没做,先空着,后期可以再加!
Redis 服务器列表
服务器列表这里功能会比较多,得展示所有服务器,还有编缉、详情、连接服务器等。这块功能多,所以用了在个初图控制器,主要对list
页的控制,命令控制台的控制,还有就是Databases
的控制进行监听及实现。
上图就是Redis列表页,可进行添加服务器,编辑服务器的相当操作,选择grid的head有下拉先项,可选择字段进行排序或其他操作。
只要选择了“需要认证”并且填写了认证密码,当你对服务器进行操作的时候就不再需要输入AUTH password
了。
下图是添加框:
点击列表右边的感叹号显示Redis服务器详情类似于命令行的info
,下图详情展示:
命令操作项
当在列表页点击“连接”就是可以连接到对应的服务器进行操作了,下图是自动创建的命令操作的tab页:
在显示的tab页的左边也有几个tab页,这里显示的是当前连接的服务器有几个正在使用的*db*,也就是当前连接服务器上的数据的db,默认最多是16个db, 当然前端是有多少个就展示多少个的。可能有人注意到了,无法添加新的db? 这里后期可以扩展^_^ 暂木有做。
选择不同的db tab 可以对不同的db进行操作,相当于你在命令行输入了select 1
等等。
历史详情
这个比较简单,只是在tab页中加入了一个grid,当选择这个tab并且这个tab里没值时会加载store获取历史记录!复制曾经操作过的命令 在commad页进行执行。
每个tab都是有记忆功能的,只要你不关闭这个tab或不刷新当前页面,记录会始终保留
目前改项目已经部署在了测试环境,欢迎提bug,提意见,提各种需求〜〜〜
现前后端代码已上传至公司的gitlab 安装方式:
先git clone http://gitlab.xxxxxx.org/xxxxx/xxx/me-dudulu-redis
cd me-dudulu-redis
composer install # 安装时需要输入你的数据库地址及相当信息
php bin/console docutrine doctrine:schema:create --force # 创建数据表
php bin/console fos:user:create admin --super-admin # 创建超级管理员
php bin/console server:run # 启动服务
然后你就可以愉快的装x啦!
尾巴
UI好看、好用、简单、方便、快捷。
- symfony PHP界最强大的框架 没有之一
- Ext JS 前端最强大的框架 没有之一
想做成开源项目,有兴趣的小伙伴可以一起!难度略高!如果效果好,考虑 开发一个客户端版!
特别提醒
不要适应 kyes * 不是你死(客户端)就是我亡(服务器)
很赞哦! (1)
上一篇:Ajax跨域访问
下一篇:Linux 开放端口服务
文章评论
点击排行
本栏推荐
标签
站点信息
- 微信公众号