【Redis】Redis是什么,又能用来做什么呢

Redis是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
redis的安装与启动可参考博客:
【Redis】Redis如何搭建与启动,以及如何设置开机自启

一、Redis特点

1、速度快

读的数据是110000次/s左右,写的速度是81000次/s左右
(1)数据存在内存中
(2)C语言实现,离操作系统近,执行速度快
(3)单线程架构,预防了多线程可能产生的竞争问题
(4)源代码集性能与优雅于一身

2、丰富的数据类型

基于键值对,值不仅可以是字符串, 而且还可以是具
体的数据结构,支持String,Hash,List,Set,ZSet数据类型操作

3、丰富的功能

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

4、简单稳定

源码少,使用的是单线程模型,不依赖操作系统中的类库,Redis自己实现了事件处理的相关功能

5、原子性

redis的所有操作都是原子性的,也就是要么成功执行要么失败完全不执行。单个操作是原子性的,多个操作支持事务,通过MULTI和EXEC指令包起来

6、客户端语言多

Redis提供了简单的TCP通信协议, 很多编程语言可以很方便地接入到Redis,支持Redis的客户端有:Java、 PHP、Python、 C、 C++、 Nodejs等

7、持久化

数据放在内存中是不安全的,Redis提供了两种持久化方式: RDB和AOF。也就是将内存的数据保存到硬盘中,保证数据的可持久性
(1)RDB
每次写都是全部数据到磁盘,代价高
(2)AOF
追加的log可能过大,同时所有操作均重新执行一遍,恢复速度慢

8、主从复制

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

9、高可用和分布式

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

二、Redis的一些常用操作

可执行文件 说明
redis-server 启动Redis
redis-cli Redis命令行客户端
redis-benchmark Redis基准测试工具
redis-check-aof Redis AOF持久化文件检测和恢复工具
redis-check-dump Redis RDB持久化文件检测和恢复工具
redis-sentiel 启动Redis Sentinel

redis启动

redis-server

redis命令行客户端

redis-cli -h 192.168.226.133 -p 6379

停止redis服务

redis-cli shutdown

以shutdown方式关闭redis较好,因为若参数为save的shutdown方式,可以生成持久化文件

redis-cli shutdown nosave|save

以kill进程号方式关闭redis,不会做持久化操作,会造成AOF和复制丢失数据的情况

三、Redis的一些常用命令

查看所有键

keys *

查看键总数

dbsize

检查键是否存在

exists key

删除键

del key 
del [key ...]

键过期

expire key seconds

查看键剩余过期时间
-1表示永不过期,-2表示已过期

ttl key

查看键的数据结构类型

type key
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章