您的位置:首页 > 数据库 > Redis

redis-基础,设计原则

2017-02-24 15:48 106 查看
flushdb:刷新db,清空

pkill -9 redis:杀死redis进程

redis-benchmark -n 1000:会执行1000个命令

redis-benchmark -h:帮助文档

redis-check-dump rdb文件夹:检测rdb是否有问题

ps aux|grep redis $ 查到redis的进程

通用key

set key value

get key

keys patten 查询相应的key

keys * :通配多个字符

keys keyName:精确查

keys key*:模糊查询

keys key[na]:通配括号内某一个字符,key[a-c]会匹配key[a]~key[c]

keys ke?e:通配单个字符

keys \? :匹配字符?,用于转义符号

randomkey:返回随机key

type site:返回key类型

exists key:判断key是否存在(0false\1true)

del keyName…keyN:删除key

rename Key newKey:key改名,重名会覆盖

renamenx key newKey:存在不改,不存在才改名。

select 编号:选择数据库,默认0号数据库

move key dbID:key移动到dbID号数据库中

ttl key:查询key声明周期,返回秒。不存在/已过期/不过期的key返回-1,2.8版本,不存在返回-2

expire key 整型值:设置生命周期,秒为单位

pttl/pexpire :以毫秒为单位设置

persist key:永久有效

==================key设计原则================

1:表名转换为key前缀 如tag:

2:放用于区分key的字段,对应sql中主键的列名。如:userId

3:主键值,如1,2,3

4:存储列名

set user:id:1:name lisi

set user:id:1:sex male

set user:id:1:mail 163@qq.com

///////

set book:id:6:title java

set book:id:7:title oracle

set book:id:8:title dnf

sadd tag:php 5

sadd tag:java 6

sadd tag:oracle 7 8 6

//查询既有oracle标签又有java标签的书编号

sinter tag:oracle tag:java

//有java标签或者php标签的书

sunion tag:java tag:php

//查询oracle但是不含有java的书

sdiff tag:oracle tag:java

//根据其他信息查询,冗余信息维护

name–>id

set user:id:1:name lisi

set user:name:lisi:id 1

get user:name:lisi:id
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: