Redis 的前世今生

Redis的诞生于2008年,由Salvatore Sanfilippo开发。最初作者在开发一个网站时,需要实现一个高性能的队列功能,在使用Mysql无果后,决定自己造一个轮子。自从Salvatore Sanfilippo将 Redis源码在GitHub上开源后,就一发不可收拾。许多重量级的公司将Redis应用到他们的产品中,如国外的Twitter,Instagram,StackOverFlow, Github等,国内的如新浪微博,阿里巴巴,腾讯,百度,搜狐,优酷土豆等。


Redis 的特性

速度快

  • redis是使用C语言实现的,并且源码实现的足够好。
  • redis基于内存存放数据,操作数据相对快。
  • redis使用单线程架构,没有多线程的切换和死锁。

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

    redis 所有数据以键值对的方式存放,键是字符串类型,但键所对应的值除了字符串类型,还可以是哈希,列表,集合,有序集合。

丰富的功能

  • 提供了键过期功能,可以实现缓存
  • 提供发布订阅功能(基于列表的阻塞取值),可以实现消息系统
  • luo基本,可以扩展新的redis命令
  • 提供简单的事务功能,将有关联性的操作放在一起执行
  • 提供流水线(Pipeline)功能,客户端可以将一批命令一次性传到Redis,减少网络开销

简单稳定

  • 代码量比其他nosql少
  • 单线程模型
  • 不依赖其他类库,redis自己实现了事件处理的相关功能

客户端语言多

  支持Java,PHP,Python,C, C++,Nodejs

持久化

  提供了RDB和AOF两种持久化方式,将内存的数据保存到硬盘中。

主从复制

高可用和分布式

  • 通过redis sentinel实现高可用,保证redis节点的故障发现和故障自动转移。
  • 通过redis cluster实现分布式部署

Redis 的应用场景

  1. 缓存
  2. 排行榜系统
  3. 计数器应用
  4. 社交网络
  5. 消息队列系统

 


Redis 如何安装

redis不推荐在windows系统上部署,因为redis的许多特性都是与系统相关的。redis已在linux上有许多成功案例,绝大多数公司都使用linux系统开发和运维。

Linux 系统下安装

wget http://download.redis.io/releases/redis-3.0.7.tar.gz

$ tar xzf redis-3.0.7.tar.gz

$ ln -s redis-3.0.7 redis

$ cd redis

$ make

$ make install

注意:这里使用软连接将redis-3.0.7 连接到redis目录,相当于做了redis-3.0.7的快捷方式,以后更新版本时,可以替换新版本的软连接。

常用命令

redis-cli # 是redis的客户端启动命令,最主要功能是连接redis-server,通过tcp网络协议,将要执行的命令发送给redis-server,并取回执行结果

     # 默认连接127.0.0.1:6379的redis-server。可以像这样redis-cli get key 直接运行单条命令,或者通过redis-cli进入交互模式

redis-cli --help
redis-cli 3.0.7

Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
-h <hostname> Server hostname (default: 127.0.0.1).
-p <port> Server port (default: 6379).
-s <socket> Server socket (overrides hostname and port).
-a <password> Password to use when connecting to the server.
-r <repeat> Execute specified command N times.
-i <interval> When -r is used, waits <interval> seconds per command.
It is possible to specify sub-second times like -i 0.1.
-n <db> Database number.
-x Read last argument from STDIN.
-d <delimiter> Multi-bulk delimiter in for raw formatting (default: \n).
-c Enable cluster mode (follow -ASK and -MOVED redirections).
......

Examples:
cat /etc/passwd | redis-cli -x set mypasswd
redis-cli get mypasswd
redis-cli -r 100 lpush mylist x
redis-cli -r 100 -i 1 info | grep used_memory_human:
redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3
redis-cli --scan --pattern '*:12345*'

redis-server # redis-server的启动命令,不带参数直接运行,会将redis-server 运行在本机的127.0.0.1:6379上。

# 比较常用的是redis-server ./redis.conf 的方式启动redis-server,其中,redis.conf是Redis目录下一个默认配置文件,我们一般会以此为模板,将其修改为自己需要的启动配置文件。

redis-server --help
Usage: ./redis-server [/path/to/redis.conf] [options]
./redis-server - (read config from stdin)
./redis-server -v or --version
./redis-server -h or --help
./redis-server --test-memory <megabytes>

Examples:
./redis-server (run the server with default conf)
./redis-server /etc/redis/6379.conf
./redis-server --port 7777
./redis-server --port 7777 --slaveof 127.0.0.1 8888
./redis-server /etc/myredis.conf --loglevel verbose

Sentinel mode:
./redis-server /etc/sentinel.conf --sentinel

redis-cli shutdown # 停止Redis服务,停掉的是127.0.0.1:6379 的redis-server服务

        #redis在停止服务时,默认会生成持久化文件。我们可以通过redis-cli shutdown nosave | save 来控制

        # 关闭Redis时,是否生成持久化文件。

以上内容参考 Redis开发与运维 一书

  

转载于:https://www.cnblogs.com/linyihai/p/7425555.html

Redis 入门知识相关推荐

  1. Redis基础知识入门

    Redis快速入门 博主关于Redis高级特性的一些讲解,传送地址如下: 删除策略与淘汰策略详解 主从复制详解 哨兵模式详解 集群详解 缓存预热 & 缓存雪崩 & 缓存击穿 & ...

  2. 《Redis入门指南(第2版)》一第2章 准备

    本节书摘来异步社区<Redis入门指南(第2版)>一书中的第2章,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 准备 R ...

  3. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

  4. Redis入门(一)

    目录 一.Redis入门介绍 1.入门概述 2. 作用 3.下载地址 4.Linux版安装 5. Redis启动后杂项基础知识讲解 二.Redis数据类型 1.Redis的五大数据类型 2.redis ...

  5. redis 入门+掌握

    Redis 1.为什么要用Nosql 大数据----一般的数据库无法分析处理了 2006 年, hadoop就已经发布了 SpringBoot + SpringCloud 一定要逼着自己学习,压力越来 ...

  6. Redis——Redis入门和一些笔记

    Redis入门和一些笔记 Redis概述 Redis安装 Redis性能测试 Redis一些基础知识 Redis配置文件 Redis概述 Redis是什么? Redis(Re mote Di ctio ...

  7. Redis入门总结(一):redis配置文件,五种数据结构,线程模型和持久化方式

    (尊重劳动成果,转载请注明出处:https://yangwenqiang.blog.csdn.net/article/details/90321396冷血之心的博客) 关注微信公众号(文强的技术小屋) ...

  8. 超详细Redis入门教程——Redis命令(下)

    前言 本文小新为大家带来 超详细Redis入门教程--Redis命令 相关知识,具体内容包括简单动态字符串 SDS,集合的底层实现原理,BitMap 操作命令,HyperLogLog 操作命令,Geo ...

  9. 超详细Redis入门教程——Redis命令(上)

    前言 本文小新为大家带来 超详细Redis入门教程--Redis命令(上) 相关知识,具体内容包括Redis 基本命令,Key 操作命令,String 型 Value 操作命令,Hash 型 Valu ...

最新文章

  1. Android实现导航菜单左右滑动效果
  2. 一个棒棒糖引发的。。。
  3. 通过 PhxPaxos 了解 Paxos 原理
  4. zookeeper 在 windows 下配置伪集群环境
  5. 汇编语言整数加减法示例
  6. 启明云端应用分享|基于乐鑫 ESP-WIFI-MESH 的智能自助洗衣房
  7. [Hadoop in China 2011] 邵铮:揭秘FaceBook Puma演变及发展
  8. air flow空调上是什么意思_空调跳闸显cF什么意思
  9. java判断实例_java判断类和实例的关系
  10. Express框架开发知识点总结
  11. 计算机系统结构实验报告Linux,计算机操作系统体系结构实验报告.doc
  12. 2023年中国AI论文影响力超越美国?
  13. java实现最小二乘法
  14. 使用Opencv将RGB颜色空间转换到HSV颜色空间/灰度图
  15. sqlserver 备份脚本
  16. 根据高德API获取poi数据
  17. 人工智能 一种现代方法 第2章 智能Agent
  18. 卫星遥感数据处理软件SeaDAS
  19. 操作系统-课堂笔记-磁盘调度(南航)
  20. 数据结构基础(严蔚敏)

热门文章

  1. Java Random()函数生成指定范围的随机数
  2. 距离传感器控制灯泡代码_如何使用颜色传感器和超声波传感器检测障碍物和避障...
  3. 2022-2028年中国绝热隔音材料行业投资分析及前景预测报告
  4. Redis 笔记(14)— 持久化及数据恢复(数据持久方式 RDB 和 AOF、数据恢复、混合持久化)
  5. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)
  6. VS Code 安装 Go 插件、自定义扩展配置、断点调试
  7. Intel GPU实现游戏与数据中心
  8. MinkowskiEngine语义分割
  9. 硬件安全模块如何启用AUTOSAR
  10. CUDA C 纹理提取Texture Fetching