redis常用命令大全
本文内容纲要:
1.基于内存的key-value数据库
2.基于c语言编写的,可以支持多种语言的api//set每秒11万次,取get81000次
3.支持数据持久化
4.value可以是string,hash,list,set,sortedset
使用场景
1.去最新n个数据的操作
2.排行榜,取topn个数据//最佳人气前10条
3.精确的设置过期时间
4.计数器
5.实时系统,反垃圾系统
6.pub,sub发布订阅构建实时消息系统
7.构建消息队列
8.缓存
cmd访问redis
redis-cli.exe-h127.0.0.1-p6379
key
keys*获取所有的key
select0选择第一个库
movemyString1将当前的数据库key移动到某个数据库,目标库有,则不能移动
flushdb清除指定库
randomkey随机key
typekey类型
setkey1value1设置key
getkey1获取key
msetkey1value1key2value2key3value3
mgetkey1key2key3
delkey1删除key
existskey判断是否存在key
expirekey1010过期
pexpirekey1000毫秒
persistkey删除过期时间
string
setnamecxx
getname
getrangename0-1字符串分段
getsetnamenew_cxx设置值,返回旧值
msetkey1key2批量设置
mgetkey1key2批量获取
setnxkeyvalue不存在就插入(notexists)
setexkeytimevalue过期时间(expire)
setrangekeyindexvalue从index开始替换value
incrage递增
incrbyage10递增
decrage递减
decrbyage10递减
incrbyfloat增减浮点数
append追加
strlen长度
getbit/setbit/bitcount/bitop位操作
hash
hsetmyhashnamecxx
hgetmyhashname
hmsetmyhashnamecxxage25note"iamnotes"
hmgetmyhashnameagenote
hgetallmyhash获取所有的
hexistsmyhashname是否存在
hsetnxmyhashscore100设置不存在的
hincrbymyhashid1递增
hdelmyhashname删除
hkeysmyhash只取key
hvalsmyhash只取value
hlenmyhash长度
list
lpushmylistabc左插入
rpushmylistxyz右插入
lrangemylist0-1数据集合
lpopmylist弹出元素
rpopmylist弹出元素
llenmylist长度
lremmylistcountvalue删除
lindexmylist2指定索引的值
lsetmylist2n索引设值
ltrimmylist04删除key
linsertmylistbeforea插入
linsertmylistaftera插入
rpoplpushlistlist2转移列表的数据
set
saddmysetredis
smembersmyset数据集合
sremmysetset1删除
sismembermysetset1判断元素是否在集合中
scardkey_name个数
sdiff|sinter|sunion操作:集合间运算:差集|交集|并集
srandmember随机获取集合中的元素
spop从集合中弹出一个元素
zset
zaddzset1one
zaddzset2two
zaddzset3three
zincrbyzset1one增长分数
zscorezsettwo获取分数
zrangezset0-1withscores范围值
zrangebyscorezset1025withscores指定范围的值
zrangebyscorezset1025withscoreslimit12分页
Zrevrangebyscorezset1025withscores指定范围的值
zcardzset元素数量
Zcountzset获得指定分数范围内的元素个数
Zremzsetonetwo删除一个或多个元素
Zremrangebyrankzset01按照排名范围删除元素
Zremrangebyscorezset01按照分数范围删除元素
Zrankzset0-1分数最小的元素排名为0
Zrevrankzset0-1分数最大的元素排名为0
Zinterstore
zunionstorerank:last_week7rank:20150323rank:20150324rank:20150325weights1111111
排序:
sortmylist排序
sortmylistalphadesclimit02字母排序
sortlistbyit:*descby命令
sortlistbyit:*descgetit:*get参数
sortlistbyit:*descgetit:*storesorc:resultsort命令之store参数:表示把sort查询的结果集保存起来
订阅与发布:
订阅频道:subscribechat1
发布消息:publishchat1"hell0nihao"
查看频道:pubsubchannels
查看某个频道的订阅者数量:pubsubnumsubchat1
退订指定频道:unsubscriblechat1,punsubscribejava.*
订阅一组频道:psubscribejava.*
redis事物:
隔离性,原子性,
步骤:开始事务,执行命令,提交事务
multi//开启事务
saddmysetabc
saddmysetefg
lpushmylistaabbcc
lpushmylistddffgg
服务器管理
dump.rdb
appendonly.aof
//BgRewriteAof异步执行一个aop(appendOnlyfile)文件重写
会创建当前一个AOF文件体积的优化版本
//BgSave后台异步保存数据到磁盘,会在当前目录下创建文件dump.rdb
//save同步保存数据到磁盘,会阻塞主进程,别的客户端无法连接
//clientkill关闭客户端连接
//clientlist列出所有的客户端
//给客户端设置一个名称
clientsetnamemyclient1
clientgetname
configgetport
//configRewrite对redis的配置文件进行改写
rdb
save9001
save30010
save6010000
aop备份处理
appendonlyyes开启持久化
appendfsynceverysec每秒备份一次
命令:
bgsave异步保存数据到磁盘(快照保存)
lastsave返回上次成功保存到磁盘的unix的时间戳
shutdown同步保存到服务器并关闭redis服务器
bgrewriteaof文件压缩处理(命令)
本文内容总结:
原文链接:https://www.cnblogs.com/cxxjohnson/p/9072383.html