Redis入门很简单之一【简介与环境搭建】
【Redis简介】
<一>. NoSQL简介:
NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求
.常见的NoSQL数据库系统有HBase(Hadoop数据库,基于列存储)、MongoDB(文档型数据库,采用类型与JSON的BSON语法存储记录)、Redis/Memcached(键值存储数据库)等类型。
<二>. Redis介绍:
Redis是NoSQLogic系列数据库中,和Memcached最为相似的数据库系统,同属键值存储系统。严格意义上来讲,Memcached并不能算作数据库系统,只能算作中间缓存系统,因为其并不能进行数据的持久化存储。Redis的字面意思是:远程字典服务器(REmote DIctionary Server),和Memcached相比较,提供了更加丰富的数据类型
,更被认为是一种数据结构服器。
<三>. Redis、memcached比较:
和Memcached相比,Redis的优势十分明显。
1. 数据类型:Redis支持更丰富的数据类型,包括字符串(string)、列表(list:可用作队列、堆栈)、集合(set:可以进行集合的运算)、有序集合(sorted set)、哈希表(hash)等,而Memcached仅支持字符串。
2. 对象大小:Redis支持的对象大小最大支持1GB,而Memcached仅为1MB,仅从这个角度来讲,就很有使用Redis替换Memcached的必要。
3. 分片(Sharding):可以将数据离散地存储在不同的物理机器上,以克服单台机器的内存大小限制。Memcached是在服务器实现实现分片的,而Redis需要借助于Jedis实现客户端分片,Jedis是Redis官方推荐的使用Java访问Redis的方式。
使用Jedis的分片机制,存储一批数据,在不同的Redis服务器上存储着这批数据的不同部分.而这对客户端来说,而完全透明的,看不到这种差别。另外需要注意,使用Spring Data Redis进行客户端操作时,不提供对分片支持。
4. 持久化:Redis能够将添加到内存中的数据持久化到磁盘,而Memcached则只能充当一个功能相对有限的缓存中间件角色。
<四>. 应用场景:
1. 数据库服务器:用来存储结构相对简单的的数据。
2. 缓存系统:缓存需要大量读取、少量修改的数据。
3. 构建实时消息系统:利用发布(Pub)/订阅(Sub)特性。
4. 对队列的支持:基于列表(list)实现队列(queue)、堆栈(stack)。
【Redis安装】
<一>. 预备知识:
1. Redis是采用C语言编写的,安装时要求Linux系统已经安装GCC编译器,使用CentOS Minimal系统的童鞋可能无法安装成功
,需要实现安装好GCC编译器才可进行如下步骤。
2. 这里我使用nick账号进行Redis的安装,需要创建相应的用户/用户组,以及相应的目录结构。
3. 创建用户/用户组:
* 添加账号:useradd nick
* 添加群组:groupadd excelsoft
* 设置到组:usermod -g excelsoft nick
* 修改密码:passwd nick [输入密码]
4. 创建目录结构:
* 切换到root账号进行如下操作:
su - root
mkdir /software
chown -R nick:excelsoft /software
chown -R nick:excelsoft /usr/local
chown -R nick:excelsoft /opt
* 说明:使用chown操作确保nick账号对这些路径具有操作权限。
/software 用作临时文件夹
/usr/local 软件包安装位置
/opt 数据目录
<二>. 编译安装:
1. 使用nick账号上传Redis安装包redis-2.6.14.tar.gz到/software目录。
2. 进行如下操作,进行安装:
su - nick
cd /software
tar -zxvf redis-2.6.14.tar.gz
cd redis-2.6.14
make
cd src
make install
3. 创建目录:Redis默认安装在/usr/local/bin目录下,现在将可执行文件和配置文件移动到自定义位置。
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/conf
cd /usr/local/bin
mv redis-benchmark redis-check-aof redis-check-dump
redis-cli redis-server /usr/local/redis/bin
cd /software/redis-2.6.14
mv redis.conf /usr/local/redis/conf
<三>. 启动、关闭:
1. 启动Redis服务器:并指定配置文件的位置,如下方式时前台启动,会阻塞当前客户端,使用Ctrl + C即可关闭。
cd /usr/local/redis/bin
./redis-server ../conf/redis.conf
2. 后台启动:修改redis.conf文件中daemonize为yes即可,使用如上命令再次启动。
cd /usr/local/redis/conf/
vi redis.conf
3. 进行监控:
netstat -apn | grep 6379 -- redis启动默认占用6379端口
ps -ef | grep redis -- 使用进程查看命令
kill 31233 -- 可以进行强制关闭:31233为进程号
4. 关闭操作:通常使用如下命令,很优雅地进行关闭,而不是KILL
./redis-cli shutdown
【补充知识】
<一>. 客户端操作:
./redis-cli -- 客户端登陆
set name Nick -- 进行存储:name为键,Nick为值
get name -- 通过key获取value
<二>. 性能监控:我偷偷地告诉你参数-l(loop)是循环的意思,使用Ctrl + C退出
./redis-benchmark -l
<三>. 为了简化启动/关闭,可编写如下shell脚本:
1. 定位到用户主目录:cd ~
2. 启动脚本:vi start-redis.sh
cd /usr/local/redis/bin
./redis-server ../conf/redis.conf
3. 关闭脚本:vi stop-redis.sh
cd /usr/local/redis/bin
./redis-cli shutdown
4. 客户端连接脚本:vi connect-redis.sh
cd /usr/local/redis/bin
./redis-cli
5. 可执行权限:
chmod +x start-redis.sh
chmod +x stop-redis.sh
chmod +x connect-redis.sh
<四>. 最后,你可以很犀利的启动、连接、关闭:
./start-redis.sh
./connect-redis.sh
./stop-redis.sh
Redis入门很简单之一【简介与环境搭建】的更多相关文章
- Redis入门很简单之五【Jedis和Spring的整合】
Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring 在上一篇文章中,简单介绍了Jedis的 ...
- Redis入门很简单之六【Jedis常见操作】
Redis入门很简单之六[Jedis常见操作] http://www.tuicool.com/articles/vaqABb http://www.cnblogs.com/stephen-liu74/ ...
- Redis入门很简单之七【使用Jedis实现客户端Sharding】
Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
- Redis入门很简单之三【常见参数配置】
Redis入门很简单之三[常见参数配置] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached Redis的一下常见设置都是通过对redis.conf ...
- Redis入门很简单之二【常见操作命令】
Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存 Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
- [电子书] 《Android编程入门很简单》
<Android编程入门很简单>是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书.本书避免出现云山雾罩.晦涩难懂的讲解,代之以轻松活泼.由浅入 ...
- 《Mysql 入门很简单》(读后感①)
下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...
随机推荐
- [CSP-S模拟测试]:旅行(数学+线段树)
题目传送门(内部题12) 输入格式 第一行,一个整数$n$,代表树的点数.第二行,$n$个整数,第$i$个整数是$B_i$,描述排列$B$.接下来$n−1$行,每行两个整数$u,v$,描述一条树边$( ...
- 左手Mongodb右手Redis 第一章,进入Mongodb和Redis的世界
---恢复内容开始--- 1,为什么要使用非关系型数据库,关系型数据库咋滴,不能用嘛? 存在即合理,非关系型数据库的出现,那说明关系型数据库不适用了. 非关系型数据库(NOSQL)-->Not ...
- LINUX shell脚本相关
调试脚本 测试脚本语法:bash -n file.sh 查看脚本每一步执行情况:bash -x file.sh 位置变量:$1,$2,... 特殊变量: %?:最后一个命令的执 ...
- laravel框架基础知识总结
一.laravel简介 laravel是一套优雅简介的PHP开发框架,受欢迎程度非常之高,功能强大,工具齐全:以下是本人在学习过程中记录的laravel比较基础的资料,权当学习笔记,请大神们多多指教 ...
- Windows Filesystem filter driver
参考:http://www.codeproject.com/Articles/43586/File-System-Filter-Driver-Tutorial 关键点: To perform atta ...
- 哈希算法和字典类的定义,DataSet中数据遍历的几种方法
哈希算法的基本操作: 1. 哈希表(HashTable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似 ...
- LR 场景设置
LR 场景设置group:多个脚本按照独立设置模式跑,各个脚本可以单独设置虚拟用户.运行时间scenario:多个脚本之间按照相同模式跑,将总的虚拟用户数按照一定比例分配给各个脚本 schedule ...
- ubuntu下MySQL的安装及远程连接配置(转)
1.命令窗口中输入sudo apt-get install mysql-server mysql-client 即可(配置文件位置:/etc/mysql/my.cnf 启动文件位置:/etc/init ...
- [fw]谈EXPORT_SYMBOL使用
EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的.2.6就必须用EXPO ...
- 【笔记目录1】ASP.NET Core分布式项目实战
当前标签: ASP.NET Core分布式项目实战 共2页: 1 2 下一页 35.Docker安装Mysql挂载Host Volume GASA 2019-06-20 22:02 阅读:51 评论 ...