Redis(一)(Nosql,Linux下安装并测试,基本命令)

1、Nosql

(1)数据库的技术演进
  • 单机MySQL的年代,90年代,那个回收网站的访问量不会太大,单个数据库完全足够。
  • Memcached(缓存)+MySQL+垂直拆分(读写分离)
  • 分库分表+水平拆分+MySQL集群
  • 如今,随着科技的发展,传统的MySQL等关系型数据库就不够用了,比如一些大的文件、图片、博客,如果能有一种数据库来专门处理这种数据就很好。
(2)什么是Nosql?

Nosql=Not Only SQL(不仅仅是SQL)
关系型数据:表格,行,列。而Nosql就是非关系型数据库,不需要非要按照行列这种形式来存储数据,很多的数据类型比如用户的个人信息、社交网络、地理位置等的存储不需要一个固定的格式。
Nosql特点

  • 方便扩展
  • 大数据高性能
  • 数据类型多样
(3)Nosql的分类
  • KV键值对:Redis
  • 文档型数据库:MongoDB、CouchDB
  • 列存储数据库:HBase、Rlak
  • 图关系数据库:Neo4j、InfoGrid

2、Redis入门

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息中间件MQ。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超级日志,带有半径查询和流的地理空间索引。

(1)Rdeis的特点
  • 多样的数据类型
  • 持久化
  • 效率高
  • 集群
  • j事务
(2)Redis的安装(Linux)

1.下载tar.gz,下载地址https://redis.io/download
2.解压
在这里插入图片描述
3.进入解压后的文件,可以看到redis的配置文件
在这里插入图片描述
4.环境安装

1.yum stall gcc-c++
2.make
3.make install

5.redis的默认安装路径 usr/local/bin
在这里插入图片描述
6.将redis的配置文件复制到我们当前目录下
在这里插入图片描述
7.redis默认不是后台启动的,所以要修改配置文件保证后台启动
在这里插入图片描述
8.启动redis服务
在这里插入图片描述
9.连接测试

在这里插入图片描述
10.查看redis的进程是否开启在这里插入图片描述
11.关闭redis服务
在这里插入图片描述
在这里插入图片描述

(3)redis-benchmark压力测试工具

redis-benchmark命令参数
在这里插入图片描述
简单测试
在这里插入图片描述

3、基础知识

redis默认有十六个数据库,默认使用的是第0个

127.0.0.1:6379> select 3 #切换数据库
OK
127.0.0.1:6379[3]> DBSIZE #查看DB大小
(integer) 0
127.0.0.1:6379[3]> set name yao
OK
127.0.0.1:6379[3]> DBSIZE
(integer) 1
127.0.0.1:6379[3]> 
127.0.0.1:6379[3]> flushdb #清除当前数据库
OK
127.0.0.1:6379[3]> DBSIZE
(integer) 0

redis是单线程的,基于内存操作的,CPU不是性能瓶颈,是根据机器的内存和网络带宽来限制的。
redis是将所有的数据全部放在内存中的,所以说使用单线程效率就是最高的,多线程的CPU上下文切换时会耗费大量时间,对于内存系统来说,如果没有上下文切换效率就是最高的。
基本命令

127.0.0.1:6379[3]> keys *  #查看所有的key
(empty list or set)
127.0.0.1:6379[3]> select 0  #切换数据库
OK
127.0.0.1:6379> FLUSHALL  #清空所有数据库
OK
127.0.0.1:6379> set name "查娜"
OK
127.0.0.1:6379> get name
"\xe6\x9f\xa5\xe5\xa8\x9c"
127.0.0.1:6379> clear
127.0.0.1:6379> EXISTS name #判断当前key是否存在 1表示存在
(integer) 1
127.0.0.1:6379> EXISTS name1
(integer) 0
127.0.0.1:6379> move name 1 #移除当前的库
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name yao
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> clear
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> get name
"yao"
127.0.0.1:6379> EXPIRE name 10 #设置当前key的过期时间,单位是s
(integer) 1
127.0.0.1:6379> ttl name  # 查看当前key的剩余时间
(integer) 3
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> type name  #查看当前key的类型
string
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值