redis缓存数据架构实战

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

  与memcache对比

  redis安装配置

  yum安装

yum -y install redis

  源码安装

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

    执行命令

make MALLOC=libc

  

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

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

  修改允许后台启动

daemonize yes

   启动

./redis-server ./redis.conf 

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

  

  进入redis

redis-cli

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

  指定端口进入

./redis-cli -p 6380

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

set foo minseo

  获取

get foo

  获取系统缓存中所有的key

keys *

  配置文件

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

  Bind保护模式  

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

  修改配置文件

protected-mode yes

  设置密码

requirepass YOUPASSWORD

  重启

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

  加认证后启动就能查看了

 redis-cli -p 6380 -a root

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

  

  redis消息类型

  运行配置

  获取当前配置

CONFIG GET *

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

CONFIG SET loglevel "notice"

  

  redis数据存储

 

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

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

  压缩

  同步

   数据类型

  常规操作

  追加

  mset同时设置多个值

  mget同时取多个值

mget name foo

  strlen返回字符串的长度

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

  decr针对数值减1

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

  incrby增加指定的数 

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在前面插入值)

原文地址:https://www.cnblogs.com/minseo/p/9064094.html