常用命令

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

持久化RDB(紧凑压缩的二进制文件)

手动触发 :1.save(阻塞当前redis服务器)  2.bgsave(执行fork操作创建子进程)
自动触发:1.使用save m n配置 2.执行全量复制 3.执行debug reload 4.执行shutdown

持久化AOF(append only file)以独立日志的方式记录每次写命令

append, sync, rewrite, load
命令写入-> append-> AOF缓存-> sync-> AOP文件rewrite<- 重启load
redis-check-aof --fix 修复损坏的aof文件   diff -u 比较文件不同  
redis-check-dump 持久化文件检测和修复工具

redis-sentinel 启动redis-sentinel

配置文件中的  sentinel monitor mymaster 127.0.0.1 6379 2   代表sentinel节点需要监控mymaster这个主节点,2代表判断主节点失败至少需要2个sentinel节点同意
redis-sentinel /opt/redis/redis-sentinel-26379.conf 
 
 
 

Redis开发与运维的更多相关文章

  1. Redis开发与运维:SDS

    STRING 我们会经常打交道的string类型,在redis中拥有广泛的使用.也是开启redis数据类型的基础. 在我最最开始接触的redis的时候,总是以为字符串类型就是值的类型是字符串. 比如: ...

  2. Redis开发与运维学习笔记

    <Redis开发与运维>读书笔记   一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争 ...

  3. Redis实战(七)Redis开发与运维

    Redis用途 1.缓存 Redis提供了键值过期时间设置, 并且也提供了灵活控制最大内存和内存溢出后的淘汰策略. 可以这么说, 一个合理的缓存设计能够为一个网站的稳定保驾护航. 2.排行榜系统 Re ...

  4. Redis 开发与运维

    Getting Start 高性能 性能优势的体现 C语言实现的内存管理 epoll的I/O多路复用技术+IO连接/关闭/读写通过事件实现异步的非阻塞IO TCP协议 单线程架构,不会因为高并发对服务 ...

  5. 《Redis开发与运维》快速笔记(一)

    1.前言&基本介绍 在原始的系统架构中,我们都由程序直接连接DB,随着业务的进一步开展,DB的压力越来越大,为了缓解DB的这一压力,我们引入了缓存,在程序连接DB中加入缓存层, 从而减轻数据库 ...

  6. 《Redis开发与运维》

    第1章 初识Redis 1. Redis介绍: Redis是一种基于键值对(key-value)的NoSQL数据库. 与很多键值对数据库不同的是,Redis中的值可以是由string(字符串).has ...

  7. 《Redis开发与运维》读书笔记

    一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争问题 基于键值对的数据结构,支持的数据结构丰富.它 ...

  8. redis 开发与运维 学习心得1

    主要是命令相关 第一章 初识Redis 1.redis是基于键值对的NoSQL. 2.redis的值可以是 string, hash, list, set, zset, bitmaps, hyperl ...

  9. Redis开发与运维:linux安装

    Linux 安装 我的系统是inux 系统,官网下载 https://redis.io/download redis-5.0.5.tar.gz 解压: 编译安装: 官网和文档说得已经很清楚了,现在就执 ...

随机推荐

  1. (转)memcached注意事项

    转自:http://www.kaifajie.cn/kaiyuan_qita/8656.html 1.   key值最大长度? memcached的key的最大长度是250个字符. 注意250是mem ...

  2. linux ping命令

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...

  3. kepware http接口 shell开发

    读取某变量的值(wget wget --quiet \ --method GET \ --header 'Connection: keep-alive' \ --header 'Cache-Contr ...

  4. [转]Android SQLite

    数据库操作SQLite Expert Personal 3 注:下载相关SQLite的文档在:http://www.sqlite.org/ 具体的sql语句不作长细介绍,在本博客中也有相关的文章. 一 ...

  5. ZUFE2486 Heap 2017-05-31 14:37 41人阅读 评论(0) 收藏

    2486: Heap 时间限制: 2 Sec  内存限制: 128 MB 提交: 16  解决: 5 [提交][状态][讨论版] 题目描述 有n个非负整数,a1,a2,a3.....an. 有Q次询问 ...

  6. ES基本操作

    倒排索引 ElasticSearch使用一种称为倒排索引的结构,它适用于快速的全文搜索.一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表. 查询 # 查看索引配置GE ...

  7. SQL Server 字符串拼接、读取

    一.查询结果使用,字符串拼接 declare @names nvarchar(1000) declare @ParmDefinition nvarchar(1000) declare @sqltext ...

  8. 【抄袭】VB.NET扩展WebBrowser,拥有跳转前获取URL的能力

    来自 http://www.cnblogs.com/yuanjw/archive/2009/02/09/1386789.html 我仅做VB化,并优化了事件消息 Imports System.Comp ...

  9. AngularJs自定义过滤器filter

    AngularJs自带有很多过滤器,现在Insus.NET演示一个自定义的过滤器,如实现一个数据的平方. 本演示是在ASP.NET MVC环境中进行. 创建一个app: 创建一个控制器: 接下来是重点 ...

  10. mysql多列索引和最左前缀

    数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度.索引优化是数据库优化的最重要手段. 如果查询语句使用 ...