redis 常用命令、部署和特性

启动命令

./redis-server –port 6380 &

启动多个redis实例:

redis-server /usr/local/redis/redis6380.conf
redis-server /usr/local/redis/redis6381.conf

客户端链接

./redis-cli -p 3680

常用命令

keys pattern

keys * //表示匹配所有
keys na*//na开头
keys *e//e结尾

这里写图片描述

exists key

查看key是否存在
exists name//查看key为name的值是否存在

这里写图片描述

set

设置 key 对应的值为 string 类型的 value
set sex man

这里写图片描述

setnx

设置key对应的值为string类型的value。如果key已经存在,返回0.nx是not exist的意思
setnt name lichenyi1  //设置已存在的key 返回0
setnt name1 lichenyi0 //设置不存在的key  返回1

这里写图片描述

这里写图片描述

del

删除某个key。删除成功返回1,删除失败返回0
del name1  //首次执行
del name1  //再次执行

这里写图片描述

expire

设置过期时间(单位秒)
expire name 30//key为name的值有效期设置为30秒
ttl name      //查看 该key的有效期 返回负数则key失效,key不存在了

这里写图片描述

这里写图片描述

setex

设置key对应的值为string类型的value,并指定此键值的有效期
setex name 10 lichenyi//设置name对应的值为lichenyi并设置有效期为10秒

这里写图片描述

mset

一次设置多个key值,成功返回OK;返回0说明设置失败,没有任何值被设置
mset k1 v1 k2 v2

这里写图片描述

getset

设置key的值,并返回key的旧值
getset age 20//返回的是原来的值

这里写图片描述

mget

一次获取多个key的值,如果对应的key不存在,返回nil
mget name age name1

这里写图片描述

incr

对key的值做++操作,相当于i++。如果incr key对应的值不能转为int类型,会报错,incr一个不存在的key,则设置key为1.
incr age//返回21  返回的值为设置之后的值
incr age1//返回1

这里写图片描述

incrby

同incr类似,加指定值。key不存在的时候设置key,默认value0
incrby key 增量//增量可以为正数或者负数

这里写图片描述

decr

key 的值做的是减减操作,decr 一个不存在 key,则设置 key 为-1
decr age

这里写图片描述

decrby

同decr,减去指定的值
decrby age 2

这里写图片描述

append

给指定的key对应的值追加字符串,返回新的字符串的长度.如果该key不存在,则新建key并赋值为追加的字符
append key value
append name -nice

这里写图片描述

strlen

获取指定key的value的长度
strlen key

这里写图片描述

persist key

取消过期时间
语法:persist key
persist name

这里写图片描述

select

选择数据库
语法:select 库索引
select 1//选择1库

这里写图片描述

move

把某个key移动至某个库
move key 库索引
move age 1

这里写图片描述

randomkey

随机返回一个key
randomkey

这里写图片描述

rename

重新命名
语法: rename key newkey
rename name nam

这里写图片描述

type

返回数据类型
语法:type key
type name

这里写图片描述

ping

测试链接是否成功
ping 

这里写图片描述

quit

推出链接
quit

这里写图片描述

dbsize

返回key的数量
dbsize

这里写图片描述

info

输出redis的信息
info

这里写图片描述

config get | set

显示或者修改配置
config get *port*

这里写图片描述

数据类型

string

字符串
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。

set key value
set name xiaoming

hash

hmset name  key1 value1 key2 value2

Redis hash 是一个键值(key=>value)对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

这里写图片描述

list

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

格式: lpush  name  value
在 key 对应 list 的头部添加字符串元素
格式: rpush  name  value
在 key 对应 list 的尾部添加字符串元素
格式: lrem name  index
key 对应 list 中删除 count 个和 value 相同的元素
格式: llen name  
返回 key 对应 list 的长度
lpop keyList:取出并移除keyList第一个元素,左边的元素
rpop keyList:取出并移除keyList最后一个元素,右边的元素
LINDEX key index:获取该索引下的元素。

这里写图片描述

这里写图片描述

set

集合
格式: sadd  name  value
Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
smembers //返回集合中的所有成员
scard  //获取集合的成员数
sdiffstore destination key1 [key2] //返回给定所有集合的差集并存储在 destination 中
sinter key1 [key2] //返回给定所有集合的交集

这里写图片描述

zset

格式: zadd  name score value
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。

这里写图片描述

事物

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:

批量操作在发送 EXEC 命令前被放入队列缓存。
收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
一个事务从开始到执行会经历以下三个阶段:

开始事务。
命令入队。
执行事务。

这里写图片描述

发布与订阅

布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的
耦合,这点和设计模式中的观察者模式比较相似。pub/sub 不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。
在redis实现是SUBSCRIBE (订阅主题)、 UNSUBSCRIBE(取消主题) 和 PUBLISH(推送)

PSUBSCRIBE支持*匹配的方式

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值