redis

redis 缓存中间件    缓存数据库

nginx web服务

php    转发动态请求

tomcat    web页面,也可以转发动态请求

springboot    自带tomcat

redis 也是一个数据库 不单单是一个缓存工具

redis 非关系型数据库 nosql not only sql 不仅仅是sql

键值对形式

key value

test1=test2

test1=10

数据的类型不是定义好的类型

test1=10 string

redis简介:

redis 远程字典服务器

键值对

开源的,c语言写的nosql数据库

redis基于内存运行,所有的数据不是保存在硬盘,而是内存

持久化------定期或者人为的把数据保存在硬盘。

redis的优点:

1、极高的读写速度,读速度可以达到11000次/s  写81000次/S

2、支持丰富的数据类型,键值对可以定义多种数据类型 string list 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持久化的文件

reids-check-rdb    修复rdb持久化的文件

redis-benchmark -h 192.168.233.41 -p 6379 -c 100 -n 100000
#向redis的主机模拟发送100个并发连接,同时发送十万个请求测试

redis-benchmark -h 192.168.233.41 -p 6379 -q -d 100
#模拟存储100个数据包的性能测试

redis数据库的常用命令

基础数据类型:

string    字符串

lis            列表

hash        散列,键值对集合

set            集合   不重复的无序集合

zet            集合,有序集合

redis-cli -h 192.168.233.41 -p 6379
#进入redis

set test1 10
#set 创建数据
get test1
#get 获取数据
keys *
#查看当前库中所有键值    
exists test1
#查看键值队是否存在,有返回1,没有返回0
config set requirepass 123456
#给redis设置密码

1.string类型

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

append #追加

incr test1 #值自增1

decr test1 #值自减1

incrby test1 10 #指定增加10

decrby test1 10 #指定减少10

批量创建键值对

mset 键名1  值  键名2  值
mset key1 hello key2 world
#批量设置键
 
keys *
#查看键
 
mget 键名1 键名2
mget key1 key2
#同时打印多个键的值

2.列表 list 类型

创建列表

lpush 键名   值
lpush test1 a b c d 1 2 3
#创建列表 后面时内容,但是当中的元素还是string类型
 
lrange 键名 范围
lrange test1 0 -1
#查看列表中的数据(倒叙)
 
lindex 键名 索引下标
lindex test1 0
lindex test1 4
#根据索引下标打印数据
rpush  键名  值
rpush test1 1 2 3 4
#添加列表正序查看
lrange test1 0 -1
#正序查看
lrange test1 1 2
#指定范围查看

 

对列表插入值

lpushx  键名  值
lpushx test1 10
#共左插入
 
lrange  键名  范围
lrange test1 0 -1
#通过索引下标范围查看
 
rpushx test1 5
#从右插入
 
lrange test1 0 -1
#通过索引下标范围查看
删除列表内的值
lpop  键名
lpop test1
#从左边开始删
 
lrange test1 0 -1
#范围查看键值对内部的值
 
rpop  键名
rpop test1
#从右边开始删
 
lrange test1 0 -1
 
llen  键名
llen test1
#查询列表内的元素
 
lindex  键名  索引下标
lindex guoqi1 3
#指定索引下标查询
lrange test1 0 -1
 
linsert 键名   before 索引下标范围
linsert guoqi1 before 3 10
#在指定位置前插入数据
 
lrange test1 0 -1

3、 hash类型:hash类型用于存储对象,采用hash格式进行操作,占用磁盘空间少,而且一个hash可以存储4294967295个键值对

创建hash类型的数据
hset  键名  字段  值
hset test1 hello  10
#创建一个hash类型的数据
 
hget  键名 字段  
hget test1 hello
#打印tall的值
 
hset 键名  字段    值
hset test1 luoyuhao 10
#添加1个字段
 
hmget 键名 字段  字段
hmget test1 hello luoyuhao
#批量打印字段
 
hset 键名 字段 值
hset test1 age 20
#再添加一个字段
 
hmget 键名  字段   字段   字段
hmget test1 luoyuhao hello age
#一次性打印多个字段
一次性创建多个值
hmset 键名  字段 值 字段 值 字段 值 字段 值
hmset test1 a    1  b   2  c   3  d   500
#一次性创建多个字段
 
hmget 键名 字段 字段 字段 字段
hmget test1 a    b    c   d
#一次性打印多个名称和值
直接查看键值对的所有字段和值
hgetall  键名
hgetall zyg3
#查看键的字段和值
 
hkeys  键名
hkeys zyg3
#当前键值对的字段名
 
hvals  键名
hvals zyg3
#当前键值对的值
删除键值对
del zyg3
#删除键值对

4.set集合 无序集合

元素类型只能是string,无序集合当中元素具有唯一性,不允许重复

应用场景,set的数据来追踪唯一性的数据,比方说ip地址

或者根据客户的id区分不同客户购买的同一产品

sadd test1 a b b c创建集合

smembers test1查看集合中所有的值

scard test1 获取集合中集合的数量

srandmeber test1查看集合的个数

smove test1 test2 a 把test1集合中的a移动到test2,不能重复

5.有序集合

Sorted set zset 有序集合

元素类型都是string 元素唯一,不能重复

每个元素都会关联一个double类型的分数score(表示权重),通过权重的大小进行排序,权重可以相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值