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在前面插入值)
最新文章
- python GUI输入窗口
- JavaEE 概念
- 数据结构《20》----Immutable stack
- reactjs学习一(环境搭配react+es6+webpack热部署)
- 数据库 MySql
- ACL权限的学习
- BZOJ3933 [CQOI2015]多项式
- 检测php网站是否已经被攻破
- 五个新知识:微软SHA2补丁,亚信专业工具,微软官方文档,使用过期签名(附官方推荐链接),注意使用具有UAC的CMD
- Immediate Decodability
- 使用Protel99 SE 拼板的详细图解(新加队列粘贴方法)
- LIst去重,重写方法,继承接口。
- B/S 架构中,网络模型的分解与协议解析
- MySQL系列:数据表基本操作(2)
- python 脚本之 IP地址探测
- registry-1.docker.io TimeOut 错误
- 从头认识java-15.7 Map(7)-TreeMap与LinkedHashMap
- vue 兼容360及safari的方法
- Ping ip能ping通,ping计算机名ping不通,网络共享不能访问
- [转]安装openfire后admin无法登录管理控制平台