Redis的基本理论与基础实战


声明:本文转载自https://my.oschina.net/ruoli/blog/1786212,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

1、Redis基础理论

1、什么是Redis?

       Redis是一种基于键值对的内存数据库,一种典型的NoSQL数据库,Redis在互联网行业得到了大量使用,从体量上来说,新浪微博是全球最大的Redis使用者。

2、Redis 特性有哪些?

  • 速度快,这是Redis最重要的特性。

            Redis读写性能可以达到10万条每秒,为什么会这么快?

            首先,Redis所有的数据都是存放在内存中的,这是Redis速度快的主要原因

            其次,Redis是使用C语言实现的,有操作系统更近,速度相对更快。

            第三,Redis使用了单线程架构,避免了多线程可能产生的竞争问题。

            最后,Redis 源代码简洁,集性能与优雅与一身。

  • 基于键值对的数据结构

            Redis是基于键值对的数据结构,简单灵活也可以提高开发效率,目前主要支持五种数据结构:字符串、哈希、列表、集合、有序集合。

  • 提供丰富的功能

            提供了键过期功能,可以用来实现缓存,超过指定时间的键会自动被删除。

            提供了发布订阅功能,可以用来实现消息系统。

            支持Lua脚本功能,可以利用Lua创造出新的Redis命令。

            提供了简单的事务功能,在一定程度上保证了事务的完整性。

            提供了流水线(Pipeline)功能,客户端可以一次性将一批命令发送到Redis,减少了网络开销。

  • 简单稳定

            Redis源代码很少,包文件2M,使用单线程模型,不依赖系统类库,而且实现了事件处理的相关功能。

  • 支持的客户端类型多

            Redis客户端几乎涵盖了所有主流的编程语言,如 Java、PHP、Python、C、C++、Nodejs。

 

  • 支持持久化

            Redis提供了两种策略将数据持久化到硬盘中,保证了数据的可持久性。

  • 提供主从复制功能
  • 支持高可用和分布式

3、Redis可以做什么?

  • 缓存

          Redis缓存机制几乎在所有的大型系统都有使用,主要是利用了Redis提供的键过期时间的功能,也提供了灵活控制最大内存和内存溢出后的淘汰策略。

  • 排行榜系统

          Redis提供了列表和有序列表的数据结构,合理的运用可以很方便的构建各种排行榜系统。

  • 计数器应用

          在高并发下计算播放数,浏览数等计数操作,在传统关系型数据库实现性能是一种挑战,但Redis天然就支持技术功能,而且计数器的性能也非常好。

  • 社交网络

          新浪微博就是很好的例子。

  • 消息队列系统

        Redis提供了发布订阅和阻塞队列的功能,虽然没有专业的消息队列强大,但是也可以实现基本的功能。

4、Redis不可以做什么?

        Redis是基于内存的数据库,由于内存这种资源相对比较稀有,存储有限,当数量非常大时,对内存的占用会非常大,导致资源消耗严重,拖慢整个系统。

        Redis并不是适用于任何场景,要找到Redis真正适用的快速执行低延迟场景,才可以达到事半功倍的效果。

2、Redis服务安装、启动与关闭

1、Linux 下 Redis安装

        如下简单7步即可安装redis:

#1、下载最新稳定版,版本号第二位为偶数则为稳定版,为奇数则为不稳定版本 wget http://download.redis.io/releases/redis-4.0.8.tar.gz   #2、解压缩Redis源码压缩包 tar xzf redis-4.0.8.tar.gz  #3、建立一个Redis目录的软连接,指向redis-4.0.8,防止把redis绑定在指定版本上,这样做有利于Redis未来升级 ln -s redis-4.0.8 redis  #4、进入redis目录 cd redis  #5、编译 make  #6、安装,这样可以将Redis的相关运行文件放到 /usr/local/bin/下,这样可以在任意目录执行Redis命令。 make install  #7、查看安装后的Redis版本 redis-cli -v #打印结果如下: redis-cli 4.0.8  

2、三种启动Redis的方式

  • 默认启动,直接运行 redis-server,会按照默认配置,默认端口进行启动,默认端口为6379。
redis-server
  • 运行启动,在默认配置后面配置参数进行启动,常用参数包括 端口信息、日志文件、数据目录、是否启动守护进程等。
redis-server --port 6380 --logfile /home/zz/redis_ruoli.log
  • 配置文件启动,可以在后面直接指定配置文件进行启动,这种方式最灵活,一般在生产环境中选用这种方式。
redis-server /home/zz/redis.conf

 

3、关闭Redis服务

       一般情况下可以直接通过 redis-cli shutdown 命令进行关闭,也可以直接通过kill命令 杀死进程,但是切记不要以 kill -9 进行杀死,这样会导致Redis缓冲区资源不能正常关闭,也会导致数据丢失。

       我们可以通过

             redis-cli shutdown nosave|save

     命令来设置关闭服务时是否保存数据。

 

本文发表于2018年03月28日 22:38
(c)注:本文转载自https://my.oschina.net/ruoli/blog/1786212,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 1680 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1