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

目录

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应用场景

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值