Redis 的基础介绍

为什么叫 REDIS

它的全称是 REmote DIctionary Service,直接翻译过来是远程字典服务。

 

关系型数据库的特点

1、它以表格的形式,基于行存储数据,是一个二维的模式。
2、它存储的是结构化的数据,数据存储有固定的模式(schema),数据需要适应表结构。
3、表与表之间存在关联(Relationship)。
4、大部分关系型数据库都支持 SQL(结构化查询语言)的操作,支持复杂的关联查询。
5、通过支持事务(ACID 酸)来提供严格或者实时的数据一致性。但是使用关系型数据库也存在一些限制,比如:

1、要实现扩容的话,只能向上(垂直)扩展,比如磁盘限制了数据的存储,就要扩大磁盘容量,通过堆硬件的方式,不支持动态的扩缩容。水平扩容需要复杂的技术来实现,比如分库分表。
2、表结构修改困难,因此存储的数据格式也受到限制。
3、在高并发和高数据量的情况下,我们的关系型数据库通常会把数据持久化到磁盘,基于磁盘的读写压力比较大。

为了规避关系型数据库的一系列问题,我们就有了非关系型的数据库,我们一般把它叫做“non-relational”或者“Not Only SQL”。

 

非关系型数据库的特点

1、存储非结构化的数据,比如文本、图片、音频、视频。
2、表与表之间没有关联,可扩展性强。
3、保证数据的最终一致性。遵循 BASE(碱)理论。 Basically Available(基本可用); Soft-state(软状态); Eventually Consistent(最终一致性)。
4、支持海量数据的存储和高并发的高效读写。
5、支持分布式,能够对数据进行分片存储,扩缩容简单。

 

对于不同的存储类型,我们又有各种各样的非关系型数据库,比如有几种常见的类型(详细介绍):

1、KV 存储,用 Key Value 的形式来存储数据。比较常见的有 Redis 和 MemcacheDB。
2、文档存储,MongoDB。
3、列存储,HBase。
4、图存储,这个图(Graph)是数据结构,不是文件格式。Neo4j。
5、对象存储。
6、XML 存储等等。

Redis的特性(官网中文网站

  1. 更丰富的数据类型
  2. 进程内与跨进程;单机与分布式
  3. 功能丰富:持久化机制、过期策略
  4. 支持多种编程语言
  5. 高可用,集群

Redis基于Linux安装启动

1、下载redis(下载地址
比如把Redis安装到/usr/local/soft/

cd /usr/local/soft/
wget http://download.redis.io/releases/redis-5.0.5.tar.gz

2、解压压缩包

tar -zxvf redis-5.0.5.tar.gz

3、安装gcc依赖
Redis是C语言编写的,编译需要

yum install gcc

4、编译安装

cd redis-5.0.5
make MALLOC=libc

将/usr/local/soft/redis-5.0.5/src目录下二进制文件安装到/usr/local/bin

cd src
make install

5、修改配置文件

默认的配置文件是/usr/local/soft/redis-5.0.5/redis.conf
后台启动

daemonize no

改成

daemonize yes

下面一行必须改成 bind 0.0.0.0 或注释,否则只能在本机访问

bind 127.0.0.1 

如果需要密码访问,取消requirepass的注释

requirepass yourpassword

6、使用指定配置文件启动Redis

/usr/local/soft/redis-5.0.5/src/redis-server /usr/local/soft/redis-5.0.5/redis.conf

7、进入客户端

/usr/local/soft/redis-5.0.5/src/redis-cli

8、停止redis(在客户端中)

redis> shutdown
或
ps -aux | grep redis
kill -9 xxxx

Redis基本操作

默认有 16 个库(0-15),可以在配置文件中修改,默认使用第一个 db0。

databases 16

因为没有完全隔离,不像数据库的 database,不适合把不同的库分配给不同的业务使用。

切换数据库
select 0

清空当前数据库
flushdb

清空所有数据库
flushall

Redis 是字典结构的存储方式,采用 key-value 存储。key 和 value 的最大长度限制是 512M

 

键的基本操作(参考命令

存值
set vincent 9527

取值
get vincent


查看所有键
keys *

获取键总数
dbsize

查看键是否存在
exists vincent

删除键
del vincent vision

重命名键
rename vincent vision

查看类型
type vincent

Redis 一共有几种数据类型?(详细数据类型

String、Hash、Set、List、Zset、Hyperloglog、Geo、Streams

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值