redis缓存数据架构实战

  redis命令参考:http://redisdoc.com/

  与memcache对比

  redis安装配置

  yum安装

1
yum -y install redis

  源码安装

  PS:make报错**问题:**zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录 

    执行命令

1
make MALLOC=libc

  

   把配置文件redis.conf拷贝至文件夹src

  修改配置文件redis.conf把端口改成6380

  修改允许后台启动

1
daemonize yes

   启动

1
./redis-server ./redis.conf

  yum安装的可以使用systemctl启动 怎么把源码安装的也改成这样启动(思考题)

  

  进入redis

1
redis-cli

  源码安装的去src目录下找这个命令

 

  指定端口进入

1
./redis-cli -p 6380

  创建一个字符串变量 (key是foo值是minseo的键值对)

1
set foo minseo

  获取

1
get foo

  获取系统缓存中所有的key

1
keys *

  配置文件

  日志开关相当于MySQL的二进制日志不是error日志等日志

 

  Bind保护模式  

  修改配置文件启动安全机制

  修改配置文件

1
protected-mode yes

  设置密码

1
requirepass YOUPASSWORD

  重启

  进入后无法查看(提示没有认证)

  加认证后启动就能查看了

1
redis-cli -p 6380 -a root

  关闭redis 进入以后shutdown (建议大写)

  

  redis消息类型

  运行配置

  获取当前配置

1
CONFIG GET *

  修改配置(修改内存中配置实例重启后无效需要修改配置文件)

1
CONFIG SET loglevel "notice"

  

  redis数据存储

 

 

  持久化策略(可以关闭不持久化直接从数据库读取)

  持久化存储的文件为dump.rdb备份直接备份该文件即可

 

  压缩

  同步

 

   数据类型

  常规操作

  追加

  mset同时设置多个值

  mget同时取多个值

1
mget name foo

  strlen返回字符串的长度

  incr针对数值加1(作为计数器使用)

  decr针对数值减1

  exists检查是否存在(可以在set前检查是否存在)

  incrby增加指定的数 

1
INCRBY age 2

  

 

  设置一个hash

   在设置一个age和sex

  hmset  hmget设置返回多个值

  hgetall返回所有值

  hget返回单独的项

 

  hmget同时返回多项

  del删除

  hdel删除hash中其中一个字段

  PS:hash适合存储对象

   hincrby加值(没有减的需要减则使用负数)

 

  列表

  lpush创建列表

  lrange便利展示列表(列表下标从0开始类似python)

  lpush从前面插入数据

  rpush从后面插入数据

  rpop移除列表末尾数据(返回数据)

  lpop删除第一个数据

  lset修改列表

  lindex根据下标返回值

 

  linsert插入值(after在后面插入值before在前面插入值)

 

posted @   minseo  阅读(289)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示