Redis入门

Redis入门

概述

Redis(Remote Dictionary Server ),即远程字典服务

是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

支持大多数语言。

使用NoSQL技术

特点

  • 内存存储,持久化(rdb,aof)
  • 效率高,可用于高速缓存。
  • 支持集群
  • 支持事务

安装

宝塔安装。简单快捷

连接

redis-cli -p 6379

关闭

shutdown

测试

在这里插入图片描述

//宝塔在 www/server/redis/src下

./redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 10000

注:网上教程中命令为:

redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 10000 无法运行

./ 正常运行

基础知识

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xumHIQzS-1628968141975)(C:\Users\14584\AppData\Roaming\Typora\typora-user-images\image-20210815030818498.png)]

  • redis默认有16个数据库,默认使用第0个。(0-15)

  • redis是单线程的,但是redis6开始支持多线程(默认单线程)

简单命令

select 1  //更改为对应编号的数据库
DBSIZE   //查看当前数据库大小
set name xxx  //设置一个key为name,值为xxx
get name  	//返回name的值
exists name   //判断这个key是否存在,存在返回结果1,不存在返回0.
move name 1    //把name从当前数据库移动到1号数据库中
expire name 10 //设置 name 10秒后过期
ttl name       //显示name剩余存活时间
type name  	   //查看name的类型
keys *    	//显示所有的key
flushdb  //清空当前数据库
flushall //清空所有数据库

redis为什么快?

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值