redis

redis 缓存中间件 缓存数据库
nginx web服务
php 转发动态请求
tomcat web页面,也可以转发动态请求。
springboot 自带tomcat。

在这里插入图片描述

redis也是一个数据库,不单单是一个缓存工具。
redis 非关系型数据库 nosql not only sql 不仅仅是sql
键值对形式
key value
test1=test2
数据的类型不是定义好的类型

redis简介:
redis 远程字典服务器
键值对
开源的,C语言写的nosql数据库
redis基于内存运行,所有的数据不是保存在硬盘,而是内存
持久化-------定期或者认为的把数据保存到硬盘。
redis的优点:
1.极高的读写速度,读速度可以达到110000次/s写入速度81000/s
2.支持丰富的数据类型,键值对可以定义多种数据类型 string hash set
3.支持数据持久化,内存当中的数据保存到磁盘
4.原子性,redis所有操作都是原子性。
5.支持主从模式和高可用模式(哨兵模式),以及集群

redis基于内存运行的数据库,缓存是最常应用的场景。
排行榜
计数器
存储关系
实时分析记录,日志系统

缓存的概念:
缓存是一种用于存储临时数据副本的技术。目的就是提高访问速度和性能。
缓存通常位于数据的访问路径上,数据的必经之路。可以在不直接访问原始数据的情况下,可以直接获取数据。
缓存的应用场景:
web缓存
数据库缓存
对象缓存(大数据应用)

redis-cli -h 192.168.233.10 -p 6379
-h 指定IP地址
-p 指定端口
-a 密码(没有密码可以不加)
redis-cli 命令行工具
redis-server start stop restart 控制redis
redis-benchmark 检测redis在本机的运行效率
redis-check-aof 修复aof持久化的文件
redia-check-rbd 修复rbd持久化的文件
redis-benchmark -h 192.168.233.10 -p 6379 -c 100 -n 100000
向redis的主机模拟发送100个并发连接,同时发送10万个请求。
redis-benchmark -h 192.168.233.10 -p 6379 -q -d 100
模拟存储100个数据包的性能测试

redis数据库常用的命令
基础数据类型
string 字符串
list 列表
hash 散列,键值对集合
set 集合,不重复的无序集合
zet 集合,有序集合。

set test1 10   set创建数据	 set+键的名称+键值
get test1      get获取数据   get+键的名称

在这里插入图片描述

KEYS *  查看所有键的键值对
keys test 查看指定的键值对
exists test1  如何判断键值是否存在  输出值为1则存在,为0则不存在

在这里插入图片描述

set test1 xy102  set对原有的键值对进行创建,就是对原有值进行更改

在这里插入图片描述

type test1    type +键值对名称	查看键值的类型
del test1     del+键值对名称(删除多个中间用逗号隔开)	删除键值

在这里插入图片描述

rename test4 chengqian 	修改健的名称为chengqian

在这里插入图片描述

如何添加密码
config set requirepass 123456   设置密码
auth 123456
config get requirepass

在这里插入图片描述

登录不输入密码可以连接,但是不可以查询
有了密码才能查
redis-cli -h 192.168.233.10 -p 6379 -a 123456

redis-cli -h 192.168.233.10 -p 6379
auth123456

在这里插入图片描述

string类型 是redis的基础类型 最大能够存储512MB的数据
数字,图片等等都是默认string类型。

append 追加,如果没有这个键会创建,如果有就会追加
append chengqian shuai
append chengqian zhendema

在这里插入图片描述

set mykey 20
incr mykey	让这个值自增1
decr mykey	让这个值自减1
incrby mykey 10 	指定加10
decrby mykey 10 	指定减10

在这里插入图片描述

setex mykey 15 hello  临时存储键值15s,15s后自动删除
ttl mykey  查看生命周期

在这里插入图片描述

dbsize 当前表有5个键值对
config get databases  查看有多少个库,一共16个

在这里插入图片描述

select * 切换到第*个库
每个库都是独立的,互不影响
move mykey 1 把键值对mykey移动到1库

在这里插入图片描述

flushdb 清空当前库。
flushall清空所有的库。

在这里插入图片描述

mset test1 1 test2 2 test3 3  一次性创建多个
mget test1 test2 test3  一次性查看多个

在这里插入图片描述

list类型 列表

lpush mykey a b c d
lrange mykey 0 -1 打印这个列表中的所有元素
-1是列表当中的最后一个元素

在这里插入图片描述

lrange mykey 0 2
lrange mykey 1 2
lrange mykey 0 1
lrange mykey 1 2
lrange mykey 2 3

在这里插入图片描述

lpushx mykey e 插入
lrange mykey 0 -1
lpop mykey 移除
llen mykey 查看

在这里插入图片描述

lrem myken 2 a  删除两个等于a的值
lrem myken 1 c
del myken #删除这个键
lpush myken a b c d e f
lindex myken 4 从右往左查看第四位数(从0开始)

在这里插入图片描述

lset mykey 5 10 替换指定位置的值
lrange myken 0 -1  查看所有键值
linsert mykey before 10 9 在10前面插入9

在这里插入图片描述

linsert mykey after e 9  在e后面插入9
lrange myken 0 -1

在这里插入图片描述

rpush mykey1 a b c d 
lindex mykey 0
lindex myken1 0
rpush mykey1 e
lindex mykey1 3
lindex mykey1 4
lrange mykey1 0 -1

在这里插入图片描述

rpop mykey1 

在这里插入图片描述

hash类型 散列 用来存储对象,对象类别和id构成一个键名。
hash存储的空间很小,占用的内存和持久化后的磁盘空间都很少。

hset myhash id1 1 id2 2 id3 3
hget myhash id
hash是一共键值对,包含多个对象和对象的值
myhash就是一个hash值,一个hash值可以存4294967295个键值对。

在这里插入图片描述

hlen myhash  查询myhash中有几个对象

在这里插入图片描述

HDEL myhash id   删除id这个对象

在这里插入图片描述

hmget myhash id1 id2
hgetall myhash
hkeys myhash
hvalsmyhash

在这里插入图片描述

hsetnx myhash id3 3 添加一个对象,前提是这个对象不能存在

在这里插入图片描述

set 集合无序集合
元素类型只能是string类型,无序集合当中,元素具有唯一性,不允许重复。
应用场景,用set的数据来追踪唯一性的数据,比方说IP地址或者根据客户的id区分不同的客户购买的同一产品。

sadd myset a b b c
smembers myset 
sadd myset a d e

在这里插入图片描述

scard myset  获取当前集合中的元素
srandmember myset 从当前集合中随机看一个元素
spop myset  随机删除一个元素
srem myset a  指定删除

在这里插入图片描述

在这里插入图片描述

把集合1中的数据移到另一个集合中。集合1当中没有这个数据
smove myset myset2 a

在这里插入图片描述

有序集合,sorted set zset
元素类型都是string,元素也是唯一的不能重复
每个元素都会关联一个double类型的分数score(表示权重),通过权重的大小进行排序,权重可以相同

zadd myzet 1 "one"
zadd myzet 2 "two" 3 "three"
zrange myzet 0 -1 withscores

在这里插入图片描述

zrangebyscore myzet 2 5  2表示最小值5表示最大
获取权重2-5的成员

在这里插入图片描述

zrevrabge myzet 1 3

在这里插入图片描述

  • 24
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值