Redis初学

说明:

最近开始系统化学习这个通用技术,将笔记与心得整理下来,希望自己能够进一步学习。

redis的特性

  1. 速度快
  2. 持久化
  3. 多种数据结构
  4. 支持多种编辑语音
  5. 功能丰富
  6. 简单
  7. 主从复制
  8. 高可用、分布式

接下来会一一描述:

1、速度快-内存

10w OPS(每秒进行十万次读写),这是官方给出的数字,但一般官方都会给出偏高一点的数字,但通过我们实际用例测试,达到万级别的读写是没问题的(其他因素会影响结果)。

它将数据存储在内存中;它是使用5000多行的C语言实现的;它的线程模型是单线程。

存储介质

不管代码写的多好啊,没有物理基础,是无法质变的提高性能的,这张图是关于计算机各个存储的介质。从上到下,包括寄存器、一级缓存、二级缓存、内存、本地硬盘、远程硬盘,从上到下越来越慢。(个人认为redis快的根本原因就是使用内存)

2、持久化(断电不丢数据)

我们都知道内存不具有持久化的特性,也就是说当我们的机器断电的时候,是无法对内存的数据进行恢复的,redis也想到了这一点,所以提供一个持久化的功能。

Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。

3、多种数据结构

我们都知道redis是key-value格式进行存储的,redis也存在五种数据结构存储,string、hash、link、sets、sorted sets。除了这几种,还有其他的几种数据结构。

  • BitMaps:位图

  • HyperLogLog:超小内存唯一值计数

  • GEO:地理信息定位

4、支持多种编辑语音
  1. Java
  2. Php
  3. Python
  4. Ruby
  5. Lua
  6. Node.js
  7. 等等。。。。
5、功能丰富
  1. 发布订阅
  2. Lua脚本
  3. 事务
  4. pipeline
6、“简单”

虽然redis只有2万3千行代码,但似乎与前面提到的5万行代码不同,因为redis 3.0提供了一个集群的功能,也就是分布式的功能。但它的单机代码只有2万多行,也就是说对一般的开发人员来说去修改源代码进行定制化。推荐带着问题去看代码。

它的简单也体现在它不依赖外部库(like libevent),在安装部署的时候就能体现。也能看到它的线程模型是单线程的,也就是说对线程开发会比较容易一些。

7、主从复制

在redis中有两种角色,有主服务器与从服务器,将主服务器数据复制到从服务器上,这样可以提供高可用及分布式一个很好的基础。

8、高可用-分布式

本身redis的单点,主从复制模型,对于一个实现高可用的数据库来说比较难,或者说根本不可能的,但是从redis 2.8版本后出现了redis-sentinel这样的功能来支持高可用,分布式的功能对于当下各个公司也是非常重要的,所以说redis 3.0版本支持redis-cluster。

redis典型应用场景

  • 缓存系统
  • 计数器
  • 消息队列系统
  • 排行榜
  • 社交网络
  • 实时系统

redis安装(Linux)

安装完成后我们可以了解下,redis-server对应redis服务器;redis-cli对应redis命令行客户端;redis-benchmark对应redis性能测试工具;redis-check-aof对应AOF文件修复工具;redis-check-dump对应RDB文件检查工具;redis-sentinel对应Sentinel服务器(2.8以后)。

redis启动方式

  • 最简启动redis:redis-server
  • 动态参数启动redis: redis-server --port 6380
  • 配置启动redis: redis-server configPath

验证方法:

  1. ps -ef | grep redis
  2. netstat -antpl | grep redis
  3. redis-cli -h ip -p port ping

三种启动方式比较

  • 生产环境选择配置启动
  • 单机多实例配置文件可以用端口区分开

redis常用配置

  • daemonize --> 是否是守护进程(no | yes) 【通常建议yes】
  • port --> redis对外端口号
  • logfile --> redis系统日志
  • dir --> redis工作目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值