key操作命令
切换DB
> select 2
OK
获取所有key
> keys *
1) "ll"
2) "tt"
> keys *t
1) "tt"
获取键总数
> dbsize
(integer) 6
查询键是否存在
> exists java php
(integer) 2
删除键
> del php
(integer) 1
查询键类型
> type java
string
移动键(当目标数据库有被移动的key,则移动失败,返回0)
> move java 2
(integer) 0
查询key的生命周期(秒语法:ttl key 毫秒语法:pttl key)
> ttl java
(integer) -1 ///-1:永远不过期。
> ttl java
(integer) 996
设置过期时间(秒语法:expire key seconds 毫秒语法:pexpire key milliseconds)
> expire java 1000
(integer) 1
设置永不过期
> persist java
(integer) 1
> ttl java
(integer) -1
更改键名称
> rename java myjava
OK
> get java
(nil)
> get myjava
"2"
字符串操作命令(string)
字符串是Redis中最基本的数据类型,单个数据能存储的最大空间是512M。
存放键值
> set js 3
OK
> get js
"3"
> set java 3 EX 100 //将java值设置为3时间设置为100s
OK
> get java
"3"
> ttl java
(integer) 81
> setnx java 4 //设置键java值4,如果不存在返回1,存在返回0
(integer) 1
> setnx java 5
(integer) 0
> setex java 10 hello //将java值设置为hello时间设置为10s
OK
> get java
"hello"
> ttl java
(integer) 2
值递增/递减
> set java 9
OK
> incr java
(integer) 10
> get java
"10"
> decr java
(integer) 9
> get java
"9"
> set java hello
OK
> incr java
(error) ERR value is not an integer or out of range
批量存放键值
> mset java 1 php 2 js 3
OK
批量获取键值
> mget java php js
1) "1"
2) "2"
3) "3"
获取值长度
> set java hello
OK
> strlen java
(integer) 5
追加内容
> set java hello
OK
> append java word
(integer) 9
> get java
"helloword"
获取部分字符
> get java
"helloword"
> getrange java 0 4
"hello"
无序集合操作命令(set)
集合存储值
> sadd javalist 1 2 3 4 5
(integer) 5
获取元素
> smembers javalist
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
随机获取语法
> srandmember javalist 3 //随机获取3个值
1) "5"
2) "2"
3) "4"
判断集合是否存在元素
> sismember javalist 2
(integer) 1
> sismember javalist 6
(integer) 0
获取集合元素个数
> scard javalist
(integer) 5
删除集合元素
> srem javalist 2
(integer) 1
> smembers javalist
1) "1"
2) "3"
3) "4"
4) "5"
弹出元素(随机取出,集合为弹出后剩余元素)
> sadd javalist 1 2 3 4 5
(integer) 5
> spop javalist 2
1) "1"
2) "3"
> smembers javalist
1) "2"
2) "4"
3) "5"
有序集合(分数map)
有序集合存储值
> ZADD price 8.5 apple 5.0 banana 6.0 cherry
(integer) 3
获取元素分数
> zscore price apple
8.5
获取排名范围排名
> zrange price 0 -1
1) "banana"
2) "cherry"
3) "apple"
> zrange price 0 -1 withscores
1) "banana"
2) 5.0
3) "cherry"
4) 6.0
5) "apple"
6) 8.5
获取指定分数范围排名
> zrangebyscore price 6 10
1) "cherry"
2) "apple"
> zrangebyscore price 6 10 withscores
1) "cherry"
2) 6.0
3) "apple"
4) 8.5
> zrangebyscore price 6 10 withscores limit 0 1
1) "cherry"
2) 6.0
增加指定元素分数
> zincrby price 10 apple
18.5
获取集合元素个数
> zcard price
3
获取指定范围分数个数
> zcount price 6 10
1
删除指定元素
> zrem price jave
1
获取元素排名
> zrank price apple /// 数字越大分数越高
2
列表操作命令(双向链表)支持重复元素
左端存值
> lpush sq haha gaga xixi
(integer) 3
右端存值
> rpush sq you
(integer) 4
索引存值
> lset sq 2 charu ///覆盖2位置的值
OK
左端弹出元素
> lpop sq //弹出后数组数量 -1
"xixi"
右端弹出元素
> rpop sq
"you"
获取元素个数
> llen sq
(integer) 2
获取列表元素
> lpush users tom kitty land pony jack maddy
(integer) 6
> lrange users 0 3
1) "maddy"
2) "jack"
3) "pony"
4) "land"
// 获取所有
> lrange users 0 -1
1) "maddy"
2) "jack"
3) "pony"
4) "land"
5) "kitty"
6) "tom"
// 从右端索引
> lrange users -3 -1
1) "land"
2) "kitty"
3) "tom"
索引获取元素
> lindex users 2
"pony"
删除元素
> lrange users 0 -1
1) "maddy"
2) "jack"
3) "pony"
4) "land"
5) "kitty"
6) "tom"
7) "maddy"
8) "jack"
9) "pony"
10) "land"
11) "kitty"
12) "tom"
> lrem users 0 tom //将tom删除剩0个
(integer) 2
> lrem users 1 jack //将jack删除剩1个
(integer) 1
> lrange users 0 -1
1) "maddy"
2) "pony"
3) "land"
4) "kitty"
5) "maddy"
6) "jack"
7) "pony"
8) "land"
9) "kitty"
范围删除
> lrange users 0 -1
1) "maddy"
2) "pony"
3) "land"
4) "kitty"
5) "maddy"
6) "jack"
7) "pony"
8) "land"
9) "kitty"
> ltrim users 2 4
OK
> lrange users 0 -1
1) "land"
2) "kitty"
3) "maddy"
散列操作命令(hashmap)
存放键值
> hset user name haha //单个
1
> hset user name haha age 18 addr beijing //多个
2
> hsetnx user tall 180 //存如果没有返回1
(integer) 1
> hsetnx user tall 180 //存如果有返回0
(integer) 0
获取字段值
> hget user name //单个
"haha"
> hmget user name age address //多个
1) "haha"
2) "18"
3) (nil)
> hgetall user //获取所有 k-v
1) "name"
2) "haha"
3) "age"
4) "18"
5) "addr"
6) "beijing"
7) "tall"
8) "180"
> hkeys user //获取所有key
1) "name"
2) "addr"
3) "tall"
> hvals user
1) "haha"
2) "beijing"
3) "170"
判断字段是否存在
> hexists user address
(integer) 0
> hexists user name
(integer) 1
获取字段数量
> hlen user
4
递增/减
> hincrby user tall -10
(integer) 170
删除字段
> hdel user age
(integer) 1