Redis入门

Redis入门
一、Redis概述

1、什么是Redis?

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

免费开源,是当下最热门的NoSql技术之一。也被人们称为结构化数据库。


2、Redis能干嘛?

(1)内存存储,持久化,内存是断电就没有,持久化很重要!(rdb,aof)
(2)效率高,可用于高速缓存。
(3)发布订阅系统。
(4)地图信息分析。
(5)计时器,计数器等。(比如浏览数量)


3、Redis的特性

(1)多样的数据类型
(2)持久化
(3)集群
(4)事务等


4、为什么redis是单线程的?(重要)

注意:redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。

官方表示,redis是基于内存操作,CPU不是redis的性能瓶颈,redis的性能瓶颈是机器的内存和网络带宽,既然可以使用单线程来实现,那就不需要使用多线程。


5、单线程的redis为什么还这么快?

(1)完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);

(2)数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;

(3)采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;

(4)使用多路I/O复用模型,非阻塞IO;

(5)使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。


二:redis下载

官网:https://redis.io/
中文网:http://www.redis.cn/
windows版本:https://github.com/MicrosoftArchive/redis/tags
windows版本下载:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100


三:基本命令:

注意:redis中的命令不区分大小写,但是key和value的值区分大小写。

(1)测试连接:ping
在这里插入图片描述
连接成功,会自动响应一个PONG。

redis默认端口:6379


(2)切换数据库:select index

Redis中默认有16个数据库,下标0-15,默认使用第0个。
切换数据库:select index (index的值从0到15,即[0,15])
在这里插入图片描述


(3)存储值:set key value

当key是已经存在的,会覆盖原来的值。
在这里插入图片描述


(4)获取指定key的value值:get key
在这里插入图片描述


(5)查看当前数据库的大小:dbsize
在这里插入图片描述


(6)查看数据库所有的key:keys *

可以接其他匹配表达式。
在这里插入图片描述


(7)清空当前数据库:flushdb
在这里插入图片描述


(8)清空所有数据库:flushAll
在这里插入图片描述


(9)判断某个key是否存在:exists key

注意:是exists,不是exist
在这里插入图片描述


(10)将当前数据库中的key移动到指定数据库中:move key db
在这里插入图片描述
注意:如果当前数据库不存在key,或者指定数据库已经存在key,方法失效。


(11)设置指定key的过期秒数:expire key seconds
查看key的有效时间:ttl key

ttl的意思是:time to live,生效时间。

返回-1表示不过期,返回-2表示已过期,返回正数或0表示还有这么多时间过期。
在这里插入图片描述
注意:过期后该数据将会被自动删除。


(12)查看指定key的值存储类型:type key
在这里插入图片描述


(13)删除key:del key
在这里插入图片描述


附上:
redis命令中文官网:http://www.redis.cn/commands.html#generic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值