一、 初识Redis

来源:互联网 发布:淘宝改版 内容营销 编辑:程序博客网 时间:2024/05/19 13:30

1.什么是Redis

Redis是一种基于键值对(key-value)的NoSol数据库,与很多键值对数据库不同的是,Redis中的值可以由String(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、CEO地理信息定位)等多种数据结构和算法组成,因此Redis可以满足多种应用场景,而且因为Redis会将所有数据都存放在内存中看,所以它的读写性能非常惊人。
Redis可以将内存的数据利用快照和日志的形式保存到硬盘上,这样在发生类似断电或者机器故障的时候,内存中的数据不会“丢失
Redis提供了键过期、发布订阅、事务、流水线、Lua脚本等附加功能。

2.Redis特性

2.1速度快

正常情况下,Redis执行命令的速度非常快,官方给出的数字是读写性能可以达到10万/秒。Redis速度快可以归纳为以下4点:
1) Redis的所有数据都存放在内存中
2) Redis是用C语言实现的
3) Redis使用单线程架构,预防了多线程可能产生的竞争问题
4) 作者对于Redis源代码精打细磨

2.2基于键值对的数据结构服务器

Redis中的值不仅可以使字符串,而且还可以使具体的数据结构
Redis主要提供了五种数据结构:字符串、哈希、列表、集合、有序集合,同时在字符串的基础上演变出了位图(Bitmaps)和HyperLogLog两种神奇的数据结构,随着LBS(Location Based Service 基于位置服务)的不断发展,Redis3.2版本加入有关GEO(地理位置定位)的功能

2.3丰富的功能
除了5种数据结构,Redis还提供了许多额外的功能
1) 提供了键过期功能,可以用来实现缓存
2) 提供了发布订阅功能,可以用来实现消息系统
3) 支持Lua脚本功能,可以利用Lua创造出新的Redis命令
4) 提供了简单的事务功能,能在一定程度上保证事务特性。
5) 提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到Redis,减少网络的开销

2.4简单稳定
2.5客户端语言多
2.6持久化

Redis提供了两种持久化方式:RDB和AOF

2.7主从复制

Redis提供了复制功能,实现了多个相同数据的Redis副本,复制功能室分布式Redis的基础

2.8高可用和分布式

Redis从2.8版本正式提供了高可用实现Redis Sentinel,它能够保证Redis节点的故障发现和故障自动转移。
Redis从3.0版本正式提供了分布式实现Redis Cluster,它是Redis真正的分布式实现,提供了高可用,读写和容量的扩展性。

3.Redis使用场景

3.1Redis可用做什么

1.缓存
Redis提供了键值过期时间设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策略

2.排行榜系统
Redis提供了列表和有序集合数据结构,合理地使用这些数据结构可用很方便地构建各种排行榜系统

3.计数器应用
计数器在网站中的作用至关重要,例如视频网站有播放数、电商网站有浏览数,为了保证数据的实时性,每一次播放盒浏览都要做1的操作,如果并发量很大对于传统关系型数据的性能是一种挑战。Redis天然支持计数功能而且计数的性能也非常好。

4.社交网络
赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等是社交网站的必备功能,由于社交网站的访问量通常比较大,而且传统的关系型数据不太适合保存保存这种类型的数据,Redis提供的数据结构可用相对比较容易地实现这些功能

5.消息队列系统
消息队列系统可用说是一个大型网站的必备基础组件,因为其具有业务解耦、非实时业务削峰等特性。Redis提供了发布订阅功能和阻塞队列的功能,虽然和专业的消息队列比还不够足够强大,但是一般的消息队列功能基本可以满足

4.安装Redis

4.1Window 下安装
下载地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。

打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。
如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey

4.2Linux 下安装
下载地址:http://redis.io/download,下载最新文档版本。
本教程使用的最新文档版本为 2.8.17,下载并安装:

$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz$ tar xzf redis-2.8.17.tar.gz$ cd redis-2.8.17$ make

make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
下面启动redis服务.

$ cd src$ ./redis-server

注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。

$ cd src$ ./redis-server redis.conf

redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

$ cd src$ ./redis-cliredis> set foo barOKredis> get foo“bar”

4.3Ubuntu 下安装
在 Ubuntu 系统安装 Redi 可以使用以下命令:

$sudo apt-get update$sudo apt-get install redis-server

启动 Redis

$ redis-server

查看 redis 是否启动?

$ redis-cli

以上命令将打开以下终端:

redis 127.0.0.1:6379>

127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

redis 127.0.0.1:6379> pingPONG

以上说明我们已经成功安装了redis。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 a照驾照过期没审怎么办 驾照扣60多分怎么办 无证违章被扣分怎么办 变味的牛奶喝了怎么办 孩子喝了坏牛奶怎么办 孕妇喝了坏牛奶怎么办 驾照过期五年了怎么办 科目一没过之后怎么办? 重庆科目一没过怎么办 科三过了没签字怎么办 驾照过期几天撞死人怎么办 办理过期身份时出错了怎么办 新加坡半年临时驾照过期后怎么办 北京怎么办残摩行驶证 报考驾照三年到期了怎么办 车辆违章扣3分怎么办 驾照过期忘审了怎么办 外省港澳证办了居住证怎么办 电动车交警罚单丢了怎么办 在外地开车违章扣分怎么办 郑州车在外地扣分违章怎么办 电工证掉了应该怎么办 毕业回国美国驾照过期了怎么办 a2驾驶证4年没交体检报告怎么办 中国驾照在美国丢了怎么办 拿了驾照不敢开车怎么办 刚拿驾照不敢上路怎么办 雅思考试作文格式写错了怎么办 英国银行卡注销后钱怎么办 本科毕业有毕业证没有学位证怎么办 莫名收到平安一账通验证码怎么办 新车没带行驶证怎么办 深圳行驶证副本丢了怎么办 新车行驶证是怎么办的 新车怎么办牌和行驶证 b本扣12分了怎么办 车的绿本丢了怎么办 车辆落户查不到购车发票怎么办 扣车凭证丢了怎么办 三轮车驾驶证被扣了怎么办 违章12分不够扣怎么办