redis

redis概念

缓存中间件

作用:缓存数据库

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

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

键值对形式

key value

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

redis简介:

远程字典服务器

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

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

具有持久化功能

持久化:定期或者人为的把数据保存到硬盘

redis优点

1、极高的读写速度,读速度可以达到11万次/s,写速度8.1万次/s

2、支持丰富的数据类型,键值对可以定义多种数据类型

3、支持数据持久化,可以把内存当中的数据保存到磁盘

4、原子性,redis所有操作都是原子性

5、支持主从模式和高可用模式(哨兵模式),以及集群

redis基于内存运行的数据库,缓存是最常应用的场景

比如:排行榜,计数器,存储关系。实时分析记录,日志系统等

缓存的概念:

缓存是一种用于存储临时数据副本的技术。目的提高访问速度和性能

缓存通常位于数据的访问路径上,数据的必经之路。可以在不直接访问原始数据的情况下,可以直接获取数据

缓存的应用场景:

web缓存,数据库缓存,对象缓存(大数据应用)

redis的安装部署

1、yum install -y gcc gcc-c++ make 安装环境

2、tar -xf redis-5.0.7.tar.gz 解包

进入cd redis-5.0.7/ 进入目录

make -j 4 编译安装

3、make PREFIX=/usr/local/redis install,指定路径安装

4、cd utils/ 进入目录

./insteall_server.sh

其他全部enter回车

5、ln -s /usr/local/redis/bin/* /usr/local/bin/,软连接,使系统识别命令

netstat -anto | grep 6379,查看redis端口是否启动

6、vim /etc/redis/6379.conf,进入配置文件

第70行 添加 本机地址

7、重启服务:/etc/init.d/redis_6379 restart

8、netstat -anto | grep 6379,再次查看端口

redis类型及命令

redis命令工具

redis-cli -h 192.168.203.10 -p 6379,进入redis

-h:指定ip地址

-p:指定端口

-a:密码(没有密码可以不加)

进入redis后用:auth +密码

redis-cli:命令行工具

redis-server start,stop,restart:控制redis

redis-benchmark:检测redis在本机的运行效率

redis-check-aof:修复aof持久化的文件

redis-check-rdb:修复rdb持久化的文件

redis-benchmark -h 192.168.203.10 -p 6379 -c 100 -n 100000

向redis的主机模拟发送100个并发连接,处理10万个请求

redis-benchmark -h 192.168.203.10 -p 6379 -q -d 100

模拟在redis主机上存储100个数据包的性能测试

基础数据类型:

string:字符串

list:列表

hash:散列

set:集合,不重复的无序集合

zset:集合,有序集合

redis数据库常用的命令

redis中每个库都是独立的,互不影响

set:创建数据,也可以重新定义数据

get:获取数据

del:删除

rename:修改键值对名

config set requirepass 123456:设置密码

keys *:查看所有

type:查看数据类型

auth:输入密码

exists:可以判断键值对是否存在,1存在,0不存在

dbsize:查看一个多少个键值对

config get databases:查看一共多少个库,默认16个库

redis五大数据类型命令

1、string类型

是redis的基础类型

最大能存储512MB的数据

数字,图片等都是默认string类型

append:追加

incr:自增1

decr:自减1

incrby:指定增加多少

decrby:指定减少多少

flushdb 清空当前库(慎用)

mset:可以一次创建多个键值对

mget:一次查看多个键值对

setex:设置指定键值对的过期时间,-2表示键值对过期

select:切换库

move:将指定键值对移到目标库

2、list类型

列表

lpush:创建列表,从右往左

rpush:创建列表,从左往右

lrange 键值对名 0 -1:查看元素,0是起始位,-1是最后一位

lpushx:添加元素,从右往左

rpushx:添加元素,从左往右

lpop:移除一个元素

llen:查看有几个元素

lindex:查看指定索引位置元素

lset:根据索引的位置进行元素替换,索引从0开始

linsert:在指定索引的前或者后添加元素,before是前,after是后

3、hash类型

散列,用来存储对象,对象的类别和id构成键名

hash存储的空间很小,占用的内存和持久化后的磁盘空间都很少

hash是一个键值对,包含多个对象和对象的值

一个hash值可以存储42亿多个键值对

hset:创建散列

hget:获取指定对象的值

hlen:查看有几个对象

hdel:删除指定对象

hmset:创建多个

hmget:一次获取多个指定对象的值

hgetall:获取所有对象和值

hkeys:获取所有对象

hvals:获取所有对象的值

hsetnx:添加

4、set类型

集合,无序集合

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

应用场景,可以用set的数据来追踪唯一性的数据,比如ip地址

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

sadd:创建集合,也可以添加

smembers:查看当前集合当中元素

scard:获取当前集合中元素数

srandmember:从当前集合中随机获取一个元素

spop:从当前集合中随机删除一个元素

srem:删除指定元素

smove:将集合1中指定的元素转移到集合2

5、zset类型

集合,有序集合

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

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

zadd:创建

zrange:查看

zrangebyscore 集合名 2 5:查看当前集合内权重2-5之间的元素

zrevrange 集合名 1 3:查看倒数第一个元素后三个元素

zrem:删除指定元素

zcard:获取当前集合中元素数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值