Redis 入门知识

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开发与运维 一书

  

时间: 2025-01-14 06:11:56

Redis 入门知识的相关文章

redis入门知识汇总

1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性 能最快的Key-Value DB. Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个va

Redis入门指南

随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上最大的Redis使用者,体会到了Redis为高并发在线业务带来的好处,但同时也遇到了很多挑战,新浪为推动Redis这种NoSQL产品在中国互联网产品技术架构中的使用做出了卓越的贡献.作为国内第一本推进Redis普及的书,此书比较详细地介绍了Redis入门必备的基础知识,同时拥有了一些实践性方面的章节

超详细Redis入门教程【转】

这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安装redis 5.学会启动redis 6.使用redis客户端 7.redis数据结构 – 简介 8.redis数据结构 – strings 9.redis数据结构 – lists 10.redis数据结构 – 集合 11.redis数据结构 – 有序集合 12.redis数据结

redis入门(二)

目录 redis入门(二) 前言 持久化 RDB AOF 持久化文件加载 高可用 哨兵 流程 安装部署 配置技巧 集群 原理 集群搭建 参考文档 redis入门(二) 前言 在redis入门(一)简单介绍了redis的历史和安装部署,以及基本的数据结构和api,本节讲解redis持久化.高可用.redis集群和分布式相关的知识. 持久化 redis作为内存数据库,数据全部存储到内存中.但是若出现断电等原因会造成数据丢失.redis内置了2种持久化的方式,分别为RDB持久化和AOF持久化. RDB

Redis入门指南 (第2版) 中文pdf扫描版[29MB]完整版下载

Redis入门指南(第2版)是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性.在开发和生产环境中部署运行Redis.数据类型与命令.使用gedis实现队列.事务.复制.管道.持久化.优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP.Ruby.Python和Node.is这4种语言的Redis客户端库的使用方法. Redis入门指南(第2版)的目标读者不仅包括Redis的新手,还包括那些已经掌握Redis使用方法的人.对于新手而言,

redis常用知识(二)

Redis相关知识总结(二) Php操作redis常用的方法 1.  String类型 (1)     Get(key)  获取设置的值 (2)     Set(key,value)  设置相应的key值 (3)     getSet(key,value)        修改key值 (4)     append(key,value2)    在指定的key-value后追加新的value (5)     getRange(key, start, end) 根据指定的key,对value进行字符

ESB (Enterprise Service Bus)入门知识

本文主要介绍ESB相关的一些技术概念与术语,还有一些入门的需要了解的基础知识,并初步了解介绍一些ESB产品.由于本人刚接触ESB,所以将自己的学习内容与过程,记录下来!愿在这里与大家分享一下,共同进步与提高! [转载使用,请注明出处:http://blog.csdn.net/mahoking] EAI 企业应用集成(Enterprise Application Integration):是完成在组织内.外的各种异构系统.应用和数据源之间共享.交换信息.协作的途径,方法学,标准和技术. 所连接的应

redis常用知识总结(一)

Redis相关知识总结(一) 一.redis的安装 1.  在windows上安装redis服务器 1)       下载windows版的redis安装包解压到c盘根目录 2)       在解压后的redis包创建redis.conf配置文件,配置如下 pidfile /var/run/redis.pid # 端口 port 6379 # 绑ip # bind 127.0.0.1 # 数据有效期 timeout 300 # 数据库数量 databases 16 ###############

债券入门知识

可参考此链接: http://www.jisilu.cn/topic/%E4%BC%81%E4%B8%9A%E5%80%BA%E6%85%A2%E8%B0%88 国债: 凭证式国债: 国家采取不印刷实物券,而用填制国库券收款凭证的方式发行的国债.它是以国债收款凭单的形式来作为债权证明,不可上市流通转让,从购买之日起计息.在持有期内,持券人如遇特殊情况需要握取现金,可以到购买网点提前兑取.提前兑取时,除偿还本金外,利息按实际持有天数及相应的利率档次计算.凭证式国债在银行柜台凭身份证购买,与银行定期