Redis概述与常用指令

Redis使用二-指令

环境:redis-5.0.3,centos605

概述

  • Redis是一个高速的nosql内存数据库,本质是内存中的数据结构存储系统,存储形式为K-V对
  • 键(Key)类型为String字符串,值(Value)支持5种类型:字符串、列表、集合、散列表、有序集合
  • Redis的数据正常操作存取在内存,也支持持久化(如硬盘),通过复制提高读性能,分片提高写性能。
  • 读写性能非常高,可频繁读写,支持自增自减运算

数据类型及常用命令

数据类新

数据类型存储说明
STRING字符串、整数或者浮点数最基本的数据类型,可以包含任意数据类型。
LIST列表简单的字符串列表,迟滞双端操作
HASH包含键值对的无序散列表String 类型的无序集合
SET无序集合元素无序唯一,哈希表实现
ZSET有序集合string类型元素的集合,每个元素关联一个double类型的分数,支持排序(sorted set),元素唯一,分数(score)可以重复

通用命令

1、启动。默认端口:6379

redis-server redis-5.0.3/redis.conf 
redis-cli
127.0.0.1:6379>ping
pong

2、set,创建K-V对,默认为值类型为字符串

127.0.0.1:6379> set k1 v1
OK

3、get,查询,没有返回nil

127.0.0.1:6379> get k1
"v1"

4、rename ,重命名

127.0.0.1:6379> rename k1 k0
OK
127.0.0.1:6379> get k1
(nil)
127.0.0.1:6379> get k0
"v1"

5、del,删除,返回影响的行数,不会报错

127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> del k1
(integer) 0

6、dump,序列化,不存在

127.0.0.1:6379> dump k1
"\x00\x02v1\t\x00\x8f\x17\xe1\x92\x9f\xd6\x1a\xea"
127.0.0.1:6379> dump k2
(nil)

7、exists,是否存在,1有0无

127.0.0.1:6379> exists k1
(integer) 1
127.0.0.1:6379> exists k2
(integer) 0

8、ttl,获取剩余活跃时间(time to live),-1无过期时间,-2键不存在

127.0.0.1:6379> ttl k1
(integer) -1
127.0.0.1:6379> ttl k2
(integer) -2

9、expire,设置剩余有效时间/s,1为设置成功,不存在返回0

127.0.0.1:6379> 
127.0.0.1:6379> expire k1 10
(integer) 1
127.0.0.1:6379> ttl k1
(integer) 8
127.0.0.1:6379> ttl k1
(integer) 5
127.0.0.1:6379> ttl k1
(integer) 3
127.0.0.1:6379> ttl k1
(integer) -2
127.0.0.1:6379> expire k2 10
(integer) 0

10、keys,条件查询,条件为正则表达式,key *获取所有键

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> set k4 v4
OK
127.0.0.1:6379> set k5 v5
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k4"
3) "k5"
4) "k1"
5) "k2"

11、randomkey,随机返回一个键

127.0.0.1:6379> randomkey
"k3"
127.0.0.1:6379> randomkey
"k2"

12、谨慎使用flushdb 清空数据库,flushall 清空所有数据库

学习下列命令时,可联系对比Java中相似对象类型的操作,便于记忆

String命令

命令说明正确返回
strlen key获取key的值的长度键长度值
getset key value给定已存在的 k 设为 v ,并返回 key 的旧值原k-v对
mset k1 v1[k2 v2…]批次设置多个k-v对ok
mget k1 [k2 k3…]p批量获取k的值value值
append k1 v99追加值现value的总长度
incrby number步长,增加,value值为数字形式增加后value值
decrby number减少j减少后value值

List命令

命令说明
lpush k1 v1[k2 v2…]将一个或多个值插入到列表头部
rpush k1 v1[k2 v2…]将一个或多个值插入到列表尾部
lrange key start stop获取列表指定范围内的元素
llen key获取列表长度
ltrim key start stop保留列表指定区间内的元素
blpop k1[k2] timeout移出并获取列表的第一个元素, 如果无元素会阻塞,直到等待超时或有元素。

Hash命令

命令说明
hgetall获取在哈希表中指定 key 的所有字段和值
hkeys获取所有哈希表中的字段
hmset key field1 value1 [field2 value2 ]同时将多个 field-value (域-值)对设置到哈希表 key 中。
hdel key field1 [field2]删除一个或多个哈希表字段
hincrby key field increment指定字段的整数值加上步长

Set命令

命令说明
sadd key member1 [member2]向集合添加一个或多个成员
scard key获取key集合的成员数
sismember key member判断 member 元素是否是集合 key 的成员
spop key移除并返回集合中的一个随机元素
srandmember key [count]返回集合中一个或多个随机数
sinter k1[k2]返回所有集合的交集
sdiff k1[k2]返回所有集合的差集

Zset命令

命令说明
zcard key获取有序集合的成员数
zadd key score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数
zcount key min max统计集合中分数在min和max之间的元素个数
zscore key member获取有序集合中元素对应的分数
zrank获取元素在集合中的排名,从小到大,最小的是0
zrevrange key start stop [WITHSCORES]返回有序集中指定区间内的成员,通过索引,分数从高到底
zscan key cursor [MATCH pattern] [COUNT count]迭代有序集合中的元素

本文只举了一些常用指令,更多命令请参考https://redis.io/commands

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值