redis基础(在人来人往的世界里,我们终究会相遇)

Redis是一个基于内存的高性能key-value数据库,支持多种数据结构如String、List、Set、Hash和Sortedset。在Linux上安装Redis涉及下载、编译和启动服务。Redis提供了丰富的命令用于操作这些数据结构,例如key操作、数据库管理、String操作等。此外,Redis还支持数据持久化和原子性操作。
摘要由CSDN通过智能技术生成

目录

1. Redis基础

1.1 什么是Redis?

1.2 Linux上安装Redis

1.3 redis.conf配置文件

1.4 redis常用的命令操作

1.4.1 key操作

1.4.2 关于库的命令

1.4.3 String数据类型相关

1.4.4 hash数据类型

1.4.5 List(列表)数据类型

1.4.6 Set数据类型

1.4.7 Sorted set有序集合

1.5 Redis应用场景


1. Redis基础

常见非关系型数据库:

  • redis: 典型的非关系数据库

  • mogodb: 它是介于关系型和非关系之间。

  • hbase: 数据库【海量数据】

1.1 什么是Redis?

Redis 是一个基于内存高性能 key-value 数据库。是完全开源免费的,用C语言编写的,遵守BSD协议。

特点(为什么使用?):

  • Redis 是基于内存操作的,吞吐量非常高,可以在 1s内完成十万次读写操作

  • Redis 的读写模块是单线程,每个操作都具原子性

  • Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启可以再次加载,但可能会有极短时间内数据丢失

  • Redis 支持多种数据结构,Stringlistsetzsethash

1.2 Linux上安装Redis

(1)安装redis需要的环境

yum install -y gcc-c++

(2)解压redis压缩文件

tar -zxvf redis-6.2.7.tar.gz

(3)进入解压目录 并进行编译和安装

make install

(4)启动redis服务

redis-server redis.conf

(5)客户连接redis服务

-h: 表示连接redis服务所在的ip

-p: 表示连接redis服务的端口号==

redis-cli: 表示连接本地的redis服务

redis-cli -h ip  -p port

127.0.0.1:6379>

1.3 redis.conf配置文件

259行  daemonize no:	#设置redis服务启动时是否为守护进程 说白了就是后台运行 不占用单独窗口
98 行  port 6379 	#修改redis的服务的端口号
75 行  bind * -::*	#设置允许哪些ip连接redis服务器
timeout 0 			#设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。
tcp-keepalive 0 	#指定 TCP 连接是否为长连接,"侦探"信号有 server 端维护。默认为 0.表示禁用。
loglevel notice 	#og 等级分为 4 级,debug,verbose, notice, 和 warning。生产环境下一般开启 notice。
logfile stdout 		#配置 log 文件地址,默认使用标准输出,即打印在命令行终端的窗口上,修改为日志文件目录。
databases 16 		#设置数据库的个数,可以使用 SELECT 命令来切换数据库。默认使用的数据库是 0 号库。默认 16 个库。

1.4 redis常用的命令操作

中文教程网:redis命令手册

1.4.1 key操作

keys *      #查看redis中所有的key
exists key  #判断指定的key是否存在。存在返回1 否则返回0
del key     #删除指定的key
expire key seconds #为指定的key设置过期时间。

1.4.2 关于库的命令

select n: 选中库 n=0~15

flushdb: 清空当前数据库

flushall: 清空所有库的数据

1.4.3 String数据类型相关

set key value: 					#存储字符串类型的value.
get key: 						#根据key获取对应的value字符串值。
mset key value key value ...: 	#存储多个字符串类型的value
mget key key key...:			#获取多个key对应的value字符串值
setnx key value: 				#如果存在指定key,则不存入,如果不存在则存入。
incr key: 						#对指定的key的value值进行递增。key对应的value必须为整型字符串
decr key: 						#对指定的key的value值进行递减。
incrby key number: 				#按照number值进行递增

1.4.4 hash数据类型

基本语法:

hset key field value [field value]

常用命令示例:

hset student name wjq age 18 #存储hash数据 student为key  name和age为键  wjq和18 为值
hget student name 		#获取name值
hget student age  		#获取age值
hgetall student 		#获取key(student)的所有数据 包括键和值
hkeys student 			#获取student的所有键
hvals student 			#获取student的所有值
hdel student name [field ...] #删除student的中一个或者多个键和对应值

1.4.5 List(列表)数据类型

基本语法:

lpush key element [element ...] 从左边存

rpush key element [element ...] 从右边存

常用命令示例:

lpush list aaa bbb ccc ddd eee #从左边存随list数据  list为key
lindex list 0 #从左边获取元素 eee
lrange list 0 -1 #获取指定范围内的元素 
lpop list 1 #移除左边第一个元素   移除eee
lset list 0 DDD #替换指定位置的元素  将ddd替换为DDD

1.4.6 Set数据类型

基本语法:

sadd key member [member ...]

常用命令示例:

sadd s1 1 2 3 4 4 3 2 1 #成功存储元素 1 2 3 4
sadd s2 2 3 5 6 #成功存储元素 2 3 5 6
smembers s1 #获取所有元素
sinter s1 s2 #获取s1和s2交集 2 3
sdiff s1 s2 #获取s1和s2差集 1 4 
sdiff s2 s1 #获取s1和s2差集 5 6 

1.4.7 Sorted set有序集合

基本语法:

zadd key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...]

常用命令示例:

zadd k1 60 english 88 math 79 chinese  #添加数据
zrange k1 0 -1  # 获取所有数据(不含分数)english math chinese
zrange k1 0 -1 withscores  # 获取所有数据 排序
zrevrange k1 0 -1 withscores  # 获取所有数据 从大到小
zrem k1 math english  # 删除指定数据

1.5 Redis应用场景

希望你走了很远的路,最终找到的人是你自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值