首页 > 数据库 >Redis基础学习一

Redis基础学习一

时间:2022-11-21 22:34:39浏览次数:62  
标签:NoSQL redis 数据库 基础 学习 Redis 数据 id

1.redis简介

Remote Dictionary Server(远程字典服务器),是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库.也是当前热门的NoSQL数据库之一。

2-数据库应用发展历程

单机数据库时代、Memcached时代、读写分离时代、分表分库时代(集群)、nosql时代。

单机数据库时代:一个应用,一个数据库实例
(Memcached) 缓存、水平切分时代:
读写分离时代:
分表分库时代(集群):

关系型数据库:oracle、mysql、DB2、sqlserver、....

非关系型数据库(NoSql): 彻底改变底层存储机制。不再采用关系数据模型,而是采用聚合数据结构存储数据。
redis、mongoDB、HBase、....

NoSQL数据库

NoSQL = Not Only SQL(不仅仅是SQL) ,泛指non-relational(非关系型数据库)。今天随着互联网web2.0网站的兴起,比如谷歌或Facebook每天为他们的用户收集万亿比特的数据,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展,就是一个数据量超大。传统的SQL语句库不再适应这些应用了。NoSQL数据库是为了解决大规模数据集合多重数据种类带来的挑战,特别是超大规模数据的存储。

NoSQL数据库的一个显著特点就是去掉了关系数据库的关系型特性,数据之间一旦没有关系,使得扩展性、读写性能都大大提高。

Nosql数据模型:

关系型数据库:表
tbl_student tbl_clazz
id name age clazz_id id name
1001 zhangsan 20 111 111 clazz1
1002 lisi 21 111 222 clazz2
非关系型数据库:聚合模型---把一组相关联的数据作为一个整体进行存储和管理。
BSON:数据保存到键值对中、数据和数据之间用逗号隔开,{}表示对象,[]表示数组。

   		{
	        id:1001,
		name:zhangsan,
		age:20,
		clazz:{
		   id:111,
		   name:clazz1
		}
	     }
	     {
	        id:1002,
		name:lisi,
		age:21,
		clazz:{
		   id:111,
		   name:clazz1
		}
	     }

K-V键值对、列簇、图表模型等。

Redis采用的是K-V模型存储数据的。

3-redis是一种NoSql数据库

Redis是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库.也是当前热门的NoSQL数据库之一。
Redis中的数据大部分时间都是存储内存中的,适合存储频繁访问、数据量比较小的数据。
有人称为缓存数据库.

4-Redis的特点

1、支持数据持久化

​ Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

2、支持多种数据结构

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

3、支持数据备份

​ Redis支持数据的备份,即master-slave模式的数据备份。

5-安装redis数据库

https://www.cnblogs.com/javaxubo/p/16913444.html

6.Redis客户端

Redis客户端是一个程序,通过网络连接到Redis服务器,从而实现跟 Redis服务器的交互。

Redis客户端发送命令,同时显示Redis服务器的处理结果。

redis-cli(Redis Command Line Interface)是Redis自带的基于命令行的Redis客户端,用于与服务端交互,我们可以使用该客户端来执行redis的各种命令。

1.启动Redis客户端:

1) 直接连接redis (默认ip127.0.0.1,端口6379):redis-cli

在任意目录执行 redis-cli 执行此命令是默认连接127.0.0.1(本机)的6379端口上的redis服务。

此命令是连接本机127.0.0.1 ,端口6379的redis

img

2) 指定IP和指定端口连接redis:redis-cli –h 127.0.0.1 -p 6379

-h redis主机IP(可以指定任意的redis服务器)

-p端口号(不同的端口表示不同的redis应用)

在任意目录下执行 redis-cli -h 127.0.0.1 -p 6379

img

2.退出Redis客户端:exit或者quit指令。

img

7.redis基本知识

1) 测试Redis性能

img

img

2) Redis沟通命令,查看状态

redis >ping 返回PONG

解释:输入ping,redis给我们返回PONG,表示redis服务运行正常

img

3) 查看redis服务器的统计信息:info

语法:info [section]

作用:以一种易于解释且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。section 用来返回指定部分的统计信息。 section的值:server , clients ,memory等等。不加section 返回全部统计信息

返回值:指定section的统计信息或全部信息

例1:统计server的信息

img

例2:统计全部信息

img

4) redis默认使用16个库

Redis默认使用16个库,从0到15。 对数据库个数的修改,在redis.conf文件中databases 16,理论上可以配置无限多个。

img

Redis的库和关系型数据库中的数据库实例类似,但又有一些不同,比如redis中各个库不能自定义命名,只能用序号表示,redis中各个库不是完全独立的,使用时最好一个应用使用一个redis实例,不建议一个redis实例中保存多个应用的数据。Redis实例本身所占存储空间其实是非常小的,因此不会造成存储空间的浪费。

5) 切换库命令:select db

默认使用第0个,如果要使用其他数据库,命令是 select index

img

6) 查看当前数据库中key的数目:dbsize

语法:dbsize

作用:返回当前数据库的 key 的数量。

返回值:数字,key的数量

img

7) 查看当前数据库中有哪些key:keys *

img

8) 清空当前库:flushdb

img

9) 清空所有数据库:flushall

img

这也体现出redis中的库并不是完全无关的。

10) config get * 获得redis的所有配置值

语法:config get parameter

作用:获取运行中Redis服务器的配置参数, 获取全部配置可以使用*。参数信息来自redis.conf 文件的内容。

例1:获取数据库个数 config get databases

img

例2:获取端口号config get port

img

手册地址:

redis英文版命令大全:https://redis.io/commands

redis中文版命令大全:http://redisdoc.com/

标签:NoSQL,redis,数据库,基础,学习,Redis,数据,id
From: https://www.cnblogs.com/javaxubo/p/16913595.html

相关文章

  • 无线ap升级胖AP 和 学习笔记
    瘦AP升级为胖AP这个是最基础的操作,两种方式非常简单方法一自动升级:1.准备好IOS文件,启用tftp服务端,IOS文件要下做特殊处理....此处省略两个字.2.想办法与AP进行通信,网线......
  • Java方法基础学习
    方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:原......
  • redisObject 对象
    原文链接redisObject在redis中,不同的数据类型有不同的操作命令。如:LPUSH和LLEN只能用于列表键,而SADD和SRANDMEMBER只能用于集合键。因此redis必须让每个键都......
  • java学前基础
    java基础一.java注释1.单行注释:////这是单行注释2.多行注释:/*注释内容*//*这是多行注释这是多行注释*/3.文档注释(JavaDoc):/**注释内容*//***@......
  • CSS基础语法
    1.属性*字体*大小*布局:float2.选择器:class类选择器3.取值与单位*px*color*rpx:自动根据屏幕大小进行适配4.盒子模型*margin距离......
  • JAVA基础:关键字,注释,八大基本数据类型
    JAVA基础:关键字,注释,八大基本数据类型 关键字关键字是java事先定义好的,用来表示数据类型或者程序结构关键字不能用来作变量名,类名等像public,void等,全是小写,也比......
  • BOM 基础部分
    BOM(browserobjectmodel),即浏览器对象模型,提供了与浏览器窗口进行交互的对象,它缺乏标准BOM的顶级对象是window,学习的是浏览器窗口交互的一些对象,各浏览器厂商在各自浏......
  • 深度学习之tensorflow2实战:多输出模型
    欢迎来到CNN实战,尽管我们刚刚开始,但还是要往前看!让我们开始吧! 数据集链接:https://pan.baidu.com/s/1zztS32iuNynepLq7jiF6RA提取码:ilxh,请下载好数据,在开始 导入......
  • KMP算法——数据结构与算法学习
    KMP算法算法的背景KMP是一个解决模式串在文本串是否出现过,如果出现过,最早出现的位置的经典算法核心思想KMP方法算法就利用之前判断过信息,通过一个next数组,保存模式......
  • Python学习笔记(四)
    控制语句条件控制结构在python中,实现条件控制的语句是if...else语句。if(条件):语句块else:语句块Python没有强制要求条件加上括号,但最好还是加上吧。 ......