非关系型数据库--Redis基础

redis是一个开源的key-value数据库,其特点就是基于键值存储数据;

它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有list,set ,sorted set和hash类型。

redis官网地址:https://redis.io/



redis服务文件:

rpm -ql redis
#查看redis安装后生成的文件信息,如配置文件、日志文件和服务文件
/etc/redis.conf
#主配置文件
/usr/bin/redis-server
#redis的服务文件
/usr/bin/redis-sentinel
#在配置主从复制和高可用时会用到,sentinel也具有自己的服务unit file和配置文件
/usr/lib/systemd/system/redis.service
#启动redis的unit file
/var/lib/redis
#redis在磁盘中存放数据的目录,虽然redis是基于内存数据结构的,但对磁盘依然具有IO操作
/var/run/redis
#存放redis运行时pid信息
/var/log/redis
#存放redis日志的

开启redis服务

systemctl  start redis.service 
ss -ntl
#redis默认监听127.0.0.1的TCP 6379端口

redis的客户端工具:redis-cli

redis-cli  -h
#查看此客户端工具的帮助信息
redis-cli
#连接本机redis直接输入此命令即可

redis的默认数据库

[[email protected] ~]#redis-cli  
127.0.0.1:6379> SELECT 15
OK
127.0.0.1:6379[15]> SELECT 16
(error) ERR invalid DB index
#redis默认有16个数据库,以数字编排,范围是0-15,默认登陆到0数据库
#切换库关键字SELECT

redis支持多种数据结构,所以操作也就不同

127.0.0.1:6379[15]> help [tab|tab tab]
#redis的help功能做的很好,不同数据类型都可以查找帮助信息

下面我们根据不同的数据结构演示其使用方法

string类型数据:
127.0.0.1:6379[15]> SET key1 ‘hello redis‘
OK
127.0.0.1:6379[15]> GET key1
"hello redis"
#简单创建一个字符串的键值

127.0.0.1:6379[15]> APPEND key1 ‘,hello linux‘
(integer) 23
127.0.0.1:6379[15]> GET key1
"hello redis,hello linux"
#追加字符串

127.0.0.1:6379[15]> STRLEN key1
(integer) 23
#字符串长度

127.0.0.1:6379[15]> INCR count
(integer) 1
127.0.0.1:6379[15]> INCR count
(integer) 2
127.0.0.1:6379[15]> INCR count
(integer) 3
127.0.0.1:6379[15]> INCRBY count 2
(integer) 5
127.0.0.1:6379[15]> DECR count
(integer) 4
127.0.0.1:6379[15]> DECRBY count 3
(integer) 1
#INCR与DECR分别是对value进行加一或者减一,INCRBY和DECRBY分别是对value进行加或者减指定步长的数值

127.0.0.1:6379[15]> GET count
"1"
127.0.0.1:6379[15]> DEL count
(integer) 1
127.0.0.1:6379[15]> GET count
(nil)
#删除键
list类型数据:
127.0.0.1:6379[15]> LPUSH number one two three four
(integer) 4
127.0.0.1:6379[15]> LINDEX number 0
"four"
127.0.0.1:6379[15]> LINDEX number 3
"one"
127.0.0.1:6379[15]> LINSERT number AFTER one zero
(integer) 5
127.0.0.1:6379[15]> LINDEX number 3
"one"
127.0.0.1:6379[15]> LINDEX number 4
"zero"
127.0.0.1:6379[15]> LRANGE number 0 4
1) "four"
2) "three"
3) "two"
4) "one"
5) "zero"
#LPUSH是从左向右入栈,RPUSH是从右向左入栈,LINSERT即从左向右插入某一值,LRANGE是显示指定键的参数范围

127.0.0.1:6379[15]> RPOP number
"zero"
127.0.0.1:6379[15]> LLEN number
(integer) 3
#RPOP是从右向左弹出字段,LPOP是从左向右弹出字段,LLEN是列出指定键的长度
hash数据类型:
127.0.0.1:6379[15]> HMSET  member name tom age 20 gender male
OK
#主键与子键
127.0.0.1:6379[15]> HGETALL member
1) "name"
2) "tom"
3) "age"
4) "20"
5) "gender"
6) "male"
#显示所有键值
127.0.0.1:6379[15]> HKEYS member
1) "name"
2) "age"
3) "gender"
#只显示子键
127.0.0.1:6379[15]> HVALS member
1) "tom"
2) "20"
3) "male"
#显示子键值
127.0.0.1:6379[15]> HSTRLEN member age
(integer) 2
127.0.0.1:6379[15]> HDEL member gender
(integer) 1

以上显示多种数据类型在redis接口下的基本操作,可以参考help来继续学习

本文演示到此结束

时间: 2024-08-01 18:00:22

非关系型数据库--Redis基础的相关文章

非关系型数据库Redis学习(1)

NoSQL 泛指非关系型数据库 特点:1.处理超大量的数据 2.运行在便宜的pc服务器集群上  3.击碎了性能的瓶颈 Redis是一个高性能的key-value数据库,存储的value类型包括string字符串.list链表.set(集合).zset(有序集合).数据缓存在内存中,也可以周期性的把更新的数据写入磁盘,或把修改的操作写入追加的记录文件中 Redis使用场合 1. application -> Redis 2. 应用程序直接访问Redis,只有当Redis访问失败时,才访问mysql

分析Jedis源码实现操作非关系型数据库Redis

如果测试项目用的maven依赖,先把maven坐标准备好 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependenc

安装MongoDB非关系型数据库

安装MongoDB非关系型数据库 MongoDB基础 技能目标 理解MongoDB数据库的基本概念 学会安装MongoDB数据库 MongoDB概述 MongoDB是一款开源的文档数据库,并且是业内领先的NoSQL数据库,用C++编写而成 MongoDB简介 MongoDB是一款跨平台.面向文档的数据库.可以实现高性能,高可用性,并且能能够轻松拓展.在高负载的情况下,添加更多节点,可以保证服务器性能 MongoDB是一个介于关系型数据库和非关系数据库之间的产品,是非关系型数据库当中功能最丰富,最

Python3网络爬虫实战-34、数据存储:非关系型数据库存储:Redis

Redis 是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单,在本节我们介绍一下 Python 的 Redis 操作,主要介绍 RedisPy 这个库的用法. 1. 准备工作 在本节开始之前请确保已经安装好了 Redis 及 RedisPy库,如果要做数据导入导出操作的话还需要安装 RedisDump,如没有安装可以参考第一章的安装说明. 2. Redis.StrictRedis RedisPy 库提供两个类 Redis 和 StrictRedi

非关系型数据库(NoSQL)——Redis安装及部署详解

在现在的互联网大潮中,NoSQL可谓是家喻户晓,Redis作为NoSQL中及其重要的一员,使我们走向架构道路的一条必经之路.作为运维工程师来说,是必须要掌握的! 既然提到了Redis数据库是非关系型数据,并且需要掌握Redis数据库.那么关于关系型数据库与非关系型数据库的基本概念是必须要了解的. 一.关系型数据库与非关系型数据库的基本概念: 数据库按照其结构可以分为关系型数据库与其他数据库,而这些其他数据库,我们统称为非关系型数据库. 1.关系型数据库 关系型数据库是一个结构化的数据库,创建在关

python 之操作redis数据库(非关系型数据库,k-v)

数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁盘上 Redis里的数据类型有String 和hash类型,下面主要是对Redis 的一些操作. 一.String类型 r = redis.Redis(host='localhost',port=6379,db=3) r.set('nancy2','201801211505') #set数据 pri

非关系型数据库之redis

redis是什么? redis是基于内存的非关系型数据库,数据是以key-value的形式来存储的.redis的读写效率非常高,处理并发访问能力很强.主要应用场景是分布式缓存 redis中的key只有string类型.但是value有五种数据类型:字符串string,散列hash,列表list,集合set,有序集合sorted set. redis操作都是原子性的,线程安全,保证数据完整性. 为什么使用redis? 一个Tomcat同一时刻能够处理的请求大约200-300,当同一时刻有多个请求访

关系型数据库与非关系型数据库

关系型数据库与非关系型数据库 自1970年,埃德加·科德提出关系模型之后,关系数据库便开始出现,经过了40多年的演化,如今的关系型数据库具备了强大的存储.维护.查询数据的能力.但在关系数据库日益强大的时候,人们发现,在这个信息爆炸的"大数据"时代,关系型数据库遇到了性能方面的瓶颈,面对一个表中上亿条的数据,SQL语句在大数据的查询方面效率欠佳.我们应该知道,往往添加了越多的约束的技术,在一定程度上定会拖延其效率. 在1998年,Carlo Strozzi提出NOSQL的概念,指的是他开

关系型和非关系型数据库的区别--转载

关系型数据库和非关系型数据库 关系数据库和非关系数据库的区别是,关系数据库只有“表”这一种数据结构:而非关系数据库系统还有其他数据结构,对这些数据结构还有其他操作. 随着网络的不断发展,单纯关系数据库面临挑战. 关系与非关系型数据库的特点 1.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织. 关系模型中常用的概念: 关系:可以理解为一张二维表,每个关系都具有一个关系名,就