Redis教程

一,入门

1,什么是NoSql

NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。它不同于传统的关系数据库,两者存在许多显著的不同点,其中最重要的是NoSQL不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式。

二,Redis简介

2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便 对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。 不过Salvatore Sanfilippo并不满足只将Redis用于LLOOGG这一款产品,而是希望更多的人使用它,于是在同一年Salvatore Sanfilippo将Redis开源发布,并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis一起继续着Redis的开发,直到今天。短短的几年时间,Redis就拥有了庞大的用户群体。Hacker News在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁网、知乎网,国外如GitHub、Stack Overflow、Flickr等都是Redis的用户。VMware公司从2010年开始赞助Redis的开发, Salvatore Sanfilippo和Pieter Noordhuis也分别在3月和5月加入VMware,全职开发Redis。

Redis是使用c语言开发的一个高性能键值数据库。常用于分布式系统中的缓存、电商秒杀、排行榜、访问量统计、分布式会话共享等高并发应用场景。Redis可以通过一些键值类型来存储数据。其数据类型包括字符类型、散列类型、列表类型、集合类型、有序集合类型。

三,Redis安装

访问Redis官网https://redis.io/download下载最新的版本 。

解压并编译安装

Redis官网并没有提供windows版本,但可以前往https://github.com/tporadowski/redis/releases下载windows的个人编译版本(注意:并不是最新的版本)。

4,启动服务

4.1 前端启动

在redis的src目录有一个redis-server文件,用于启动一个redis服务。

redis的默认端口为6379,当客户端需要连接到redis服务时,就通过服务端的IP地址以及这个端口进行连接。也可以修改这个默认端口。在redis的根目录下有一个redis.conf文件,它是redis的核心配置文件,redis的所有配置信息都在此文件中。如果需要修改端口,我们在配置文件中找到port配置,并将6379改为其他的端口号。

修改完后需要重新启动redis服务,需要注意的是,在使用redis-server启动服务时需要指定redis.conf文件的绝对路径,否则redis将以默认的配置启动一个服务实例。

前端启动的模式我们可以在终端看到redis的启动信息和相关的操作日志,但此时如果关闭了终端或者使用control+c将会立即停止redis服务。

4.2 后端启动

所谓后端启动,就是以一个独立的进程来运行一个redis服务。首先修改redis.conf文件,找到daemonize选项并设置为yes,如下图:

保存退出后重新启动redis服务,此时redis将以后台进程的方式启动服务。终端没有显示相关的启动信息,并且启动完成后,终端可以继续执行其他的操作。

5,客户端连接

5.1 Redis客户端

在redis的src目录下有一个redis-cli命令,这个就是官方提供的redis客户端,可以使用它来连接和操作redis。当然,这仅仅只是一个命令行的客户端程序,在实际的开发中会有不同的平台语言,因此官网也提供了对各种语言的客户端实现,在实际的项目开发中使用不同语言的客户端来操作redis。例如官网提供了一个Java的客户端Jedis。

1)使用redis-cli

可以使用使用官方自带的redis-cli客户端来连接redis服务。参数-h为连接redis服务器的IP地址,-p为redis的端口号。连接完成后就可以对redis进行操作了,我们使用简单的set和get命令来进行存储和访问操作。

2)退出客户端

如果想要退出客户端的连接只需要在连接的状态下输入quit或者exit即可。

3)身份认证

默认连接Redis时是不需要认证密码的,我们可以为其设置一个连接的认证密码。首先在redis.conf中找到requirepass配置项,取消注释并设置一个密码。

保存后重启服务,在连接客户端时加上-a参数并输入配置的密码。

连接时也可以不指定密码也可以正常连接,但在操作Redis时候会提示一个错误,要求输入认证密码。这时使用auth命令来输入密码即可。

如果设置了认证密码,在关闭客户端时也同样需要指定。

5.2 可视化客户端

也可以使用第三方的redis的可视化客户端RDM(redis-desktop-manager),它同时提供了各种系统平台的编译版本,安装后即可使用。下载地址:

点击左上角的Connect to Redis Server,在弹出的窗口中填写相关的Name(连接名称)、Address(连接地址)、端口号以及认证密码(Auth),点击OK即可。

这里我们看到连接redis后默认有16个库(0 ~ 15),这是redis默认的配置,可以在redis.conf中可以找到相应的选项并修改默认数量。

当我们使用客户端连接redis时,默认选择的是index为0的数据库,然而也可以使用select命令选择其他数据库。例如选择index为15的数据库,如下操作:

6,停止服务

如果使用前端启动redis,可以使用control+c或者kill命令来杀掉进程的方式关闭redis(注意:control+c并不能停止后端启动的redis),但这些方式都是强制性的关闭redis,由于redis保存的数据先会存储在内存,如果此时强制关闭,将导致redis还没将数据持久化到文件中就退出,可能会照成部分的数据丢

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值