Redis开发与运维

常用命令

redis-server启动redis

redis-server /opt/redis/redis.conf    配置启动

redis-server --port 6379 --dir /usr/local/data(存放持久化文件和日志文件的目录)   按照参数启动其他配置默认

redis-cli命令行客户端

redis-cli -v  查看redis的版本信息

redis-cli -h {host} -p {port}   交互式方式连接

redis-cli -h {host} -p {port} {command}  命令方式连接

redis-cli shutdown optional{nosave|save}  停止redis服务 是否生成持久化文件

命令:发送命令(网络时间)  执行命令(redis命令时间)  返回结果(网络时间)

keys *  所有键  遍历所有键 大量键下禁止使用

dbsize  键总数 直接获取内置的键总数变量

exists key 键是否存在

del key...    删除键

expire key seconds  键过期

ttl key  键的剩余过期时间  -1没设置过过期时间  -2键不存在

type key 键的数据类型  不存在->none

object encoding key 查看内部编码类型

String

set key value [ex second] [px millisecond] [nx(键必须不存在)|xx(必须存在)]

setex key seconds value

setnx key value

get key

mset k1 v1 k2 v2

mget k1 k2 k3

Hash

hset key field value

hsetnx key field value

hget key field

hdel key field ...

hlen key

hmget key f1 f2

hmset key f1 v1 f2 v2

hexists key field

hkeys key  获取所有的field

hvals key  获取所有的值

hgetall key 获取所有的field和值

List(索引下标有序,时间轴,消息队列)

rpush|lpush key v1 v2

lrange key start end

linsert key before|after pivot value 在pivot前后插入value

lindex key index

llen key

lpop|rpop key  左|右侧弹出元素(删除)

lrem key count value   删除指定元素  count  >0从左向右删除最多count个value元素  =0删除所有

ltrim key start end  相当于substring的用法

lset key index newValue

blpop|brpop key1 key2 ... timeout 阻塞命令

Set(标签,社交)

sadd key element1 element2 ...

srem key e1 e2 ...

scard key  计算元素个数

sismember key v 判断元素是否在集合中

srandmember key count 随机从集合中返回指定个数元素

spop key 随机弹出一个元素(删除)

smembers key 获取所有元素

sinter k1 k2  多个集合的交集

suinon k1 k2 多个集合的并集

sdiff k1 k2 多个集合的差集

sinterstore destination k1 k2  将k1 k2交集保存到destination中

sunionstore destination k1 k2

sdiffstore destination k1 k2

SortSet(分值有序,排行榜,社交)

zdd key score member [score member ...]

zcard key

zscore key member

zrank key member  计算成员到排名位置

zrevrank key member

zrem key m1 m2 ..

zincrby key value member 给member的score增加value分

zrange key start end [withscores] 从高到低返回

zrevrange key start end

zrangebyscore key min max [withscores] [limit offset count] 从指定范围返回

zcount key min max

zremrangebyrank key start end   删除指定排名内到升序元素

zremrangebyscore key min max

zinterstore destination numkeys key .... [weights weight...] [aggregate sum|min|max]

destination:交集计算结果保存到这个键

numkeys:需要做交集计算键到个数

weights:每个键到权重,在做交集计算时,每个键中到每个member 会将自己到分数乘以这个权重值

aggregate:计算成员交集后,分值按照sum|min|max做汇总,默认sum

zunionstore destination numkeys key ... [weights weight ...] [aggreate sum|min|max]

慢查询

config set sowlog-log-lower-than 20000    超过20秒记录

config set slowlog-max-len 1000   日志队列记录最长1000

config rewrite  配置持久化到本地配置文件

slowlog get [n]  获取n条日志记录

slowlog len  日志队列长度

slowlog reset  清空慢查询日志

事务

watch 事务期间监控某个值不变才能正确提交

multi  开始

exec  提交

LUA脚本

redis-benchmark  redis基准测试工具

redis-benchmark -c 100 -n 20000  -t get,set -q --csv  100个客户端同时向redis发送get,set请求,共执行20000次。-q只输出每秒响应请求数据量并导出到csv

redis-check-aof   redis-check-dump aof和rdb持久化文件检测和修复工具

redis-sentinel 启动redis-sentinel

时间: 2025-01-02 01:30:54

Redis开发与运维的相关文章

Redis开发与运维 (数据库技术丛书) PDF 下载,深度剖析Hadoop HDFS PDF 下载

1.Redis开发与运维 (数据库技术丛书) PDF 下载 2.深度剖析Hadoop HDFS (大数据技术丛书) PDF 下载 关注微信公众号:职业开发者之路,百度云免费 下载 PDF 电子书籍,或直接访问:问风网:askwinds.com请添加链接描述,免费资源下载模块下载,问风@程序员部落,更多资源分享等你获取关注微信公众号:职业开发者之路,?更多免费资源分享 原文地址:http://blog.51cto.com/2058005/2350798

《Redis开发与运维》

第1章 初识Redis 1. Redis介绍: Redis是一种基于键值对(key-value)的NoSQL数据库. 与很多键值对数据库不同的是,Redis中的值可以是由string(字符串).hash(哈希).list(列表).set(集合).zset(有序集合)等多种数据结构和算法组成,因此Redis可以满足很多的应用场景. 而且因为Redis会将所有数据都存放在内存中,所以它的读写性能非常惊人. 不仅如此,Redis还可以将内存的数据利用快照(RDB)和日志(AOF)的形式保存到硬盘上,这

redis 开发与运维 学习心得

第一章 初识Redis 1.redis是基于键值对的NoSQL. 2.redis的值可以是 string, hash, list, set, zset, bitmaps, hyperloglog, geo 3.redis的值不仅可以是字符串海鸥可以是具体的数据结构 4.redis的2种持久方案:rdb和aof. 5.redis-server XXX.conf可以以conf的配置启动redis. 6.redis-cli shutdown可以关闭redis. 不要使用kill -9 杀死redis进

Redis开发与运维:linux安装

Linux 安装 我的系统是inux 系统,官网下载 https://redis.io/download redis-5.0.5.tar.gz 解压: 编译安装: 官网和文档说得已经很清楚了,现在就执行编译安装. 安装完成后,验证一下: [email protected]:~$ redis-cli -v redis-cli 5.0.5 因为现在安装后,执行文件直接放到了 /usr/local/bin一份,这样在任何目录下都可以执行命令 现在我们就先关注两个:redis-server(服务端).r

Redis开发与运维:数据迁移

问题 最近项目重构,提前想把一台上的redis实例转移到另一台redis实例上. 源redis数据库:阿里云Redis.VPC网络.Server版本2.8.19 目标数据库:阿里云Redis.VPC网络.Server版本4.0.11 前提: 当前我们使用Redis作为我们的数据库(永久+ 临时缓存) 目标: 把当前永久性数据导入到目标数据库,临时缓存数据不做处理 方案 设置主从复制,这个应该是比较稳妥的方案,但是支持主从必须3.0以上 -- 这个方案否掉了 那就使用键迁移命令,查了一下三种方式:

Redis开发与运维:SDS与44字节深入理解

对于上一篇文章,我又自己总结归纳并补充了一下,有了第二篇. 概览 <<左移 开始之前,我们先准备点东西:位运算 i<<n 总结为 i*2^n 所以 1<<5 = 2^5 1<<8 = 2^8 1<<16 = 2^16 1<<32 = 2^32 1<<64 = 2^64 SDS 5种数据类型 Redis 3.2 以后SDS数据类型有5个 #define SDS_TYPE_5 0 #define SDS_TYPE_8 1 #d

Open edX 学习、开发、运维相关链接整理

http://edustack.org/manual/edx/ Open edX 学习.开发.运维相关链接整理 http://edustack.org/manual/edx/open-edx-%E5%AD%A6%E4%B9%A0%E3%80%81%E5%BC%80%E5%8F%91%E3%80%81%E8%BF%90%E7%BB%B4%E7%9B%B8%E5%85%B3%E9%93%BE%E6%8E%A5%E6%95%B4%E7%90%86/

Java架构师成长之道之RabbitMQ开发与运维-基础篇(CSDN版)

Java架构师成长之道之RabbitMQ开发与运维-基础篇(CSDN版) Java架构师成长之道 消息中间件概述 消息是指在不同语言实现的应用间传递的数据,消息可以是文本字符串.JSON,也可以是复杂的内前对象. 消息中间件是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通讯来进行分布式系统集成. 通过提供消息传递和消息排队模型,使得在分布式环境下扩展进程间的通讯. 消息中间件一般有两种传递模式:点对点模式和发布/订阅模式. 点对点是基于队列的,消息生产者将消息发送到消息队列,

近千节点的Redis集群运维经验总结

分享一篇好文章 redis越来越实用了 服务器宕机并恢复后,需要重启Redis实例,因为集群采用主从结构并且宕机时间比较长,此时宕机上的节点对应的节点都是主节点,宕掉的节点重启后都应该是从节点.启动Redis实例,我们通过日志发现节点一直从不断的进行主从同步.我们称这种现象为主从重同步. 主从同步机制 为了分析以上问题,我们首先应该搞清楚Redis的主从同步机制.以下是从节点正常的主从同步流程日志: 17:22:49.763 * MASTER <-> SLAVE sync started17: