Redis个人笔记

Redis由来

  • 08 意大利 antirez 统计网站访问信息,使用 mysql(硬盘读写)进行记录。随着数据量大,产生性能瓶颈。产生将数据存储在内存中的想法。
  • 内存读写要快很多,需要添加持久化功能(数据备份)。
  • 全称 remote dictionary service
  • 端口 6379,(嘲笑歌星,暗语,愚蠢的意思)

Redis特性

  • 数据操作在内存,速度快
  • 命令执行的单线程
  • 结构简单,key-value
  • Redis keys的最大值:512M
  • 功能丰富 持久化
  • io的多路复用(阻塞性io,非阻塞io,多路复用)
Redis有16个库,配置文件可配置最多16个(database 16)
配置文件 redis.conf
set huihui 666 //设置添加key-value
select 8 //切换到库8
库数据是隔离的
可以做分库处理,不建议使用Redis数据库进行分库
flush//全库清空(所有库)
get huihui //查询
rename huihui huihui1 //重命名
keys * //查询所有,不建议使用
expire huyihui 10 //设置过期时间
del huihui //删除

Redis常见数据类型以及应用场景解析

Redis一共8大数据类型,常用的5种。

String

value String 可以存number float bits等等

strlen huihui//获取字符长度
getrange huihui 0 5//截取字符串
set intkey 1
get intkey
incr intkey
incr——》主键
set f 2.6
incrbyfloat f 7.3
单线程 不用担心并发
setnx值存在的时候就不会成功——》分布式锁

应用场景
incr 主键 分布式ID 自增 统计数据
setnx 分布式锁
设置时间跟设置锁是两个命令 原子性 并发问题 必须一起执行
lua脚本 脚本语言 狗皮膏药,保证多个redis命令的原子性

Hash

list

set

zset

你可能感兴趣的