安装Redis

官方网站:http://redis.io/

官方下载:http://redis.io/download 可以根据需要下载不同版本

windows版:https://github.com/mythz/redis-windows

https://github.com/ServiceStack/redis-windows/raw/master/downloads/redis-latest.zip

phpstudy安装redis扩展

# 教程
http://blog.csdn.net/tianjingang1/article/details/68491369 # php_redis.dll资源
http://windows.php.net/downloads/pecl/releases/redis/2.2.7/ # php_igbinary.dll 资源
http://pecl.php.net/package/igbinary

window版本:

下载完成之后,在目录中找到 redis-server.exe redis-cli.exe

必须先打开前者,再打开后者,如下图所示:

相关的Redis配置可在 redis.windows.conf 中配置


String类:

# 插入数据
redis 127.0.0.1:6379> set name wwl # 查询数据
redis 127.0.0.1:6379> get name
"wwl" # 删除键值
redis 127.0.0.1:6379> del name # 验证键是否存在:其中 0,代表此 key 不存在;1 代表存在
redis 127.0.0.1:6379> exists name # => (integer) 0

setnx: 如果 key 已经存在, 那么不进行set操作并且返回0, nx 是 not exist 的意思

set name Lee
setnx name Lee123
get name # => Lee

setex:设定有效期

setex name 10 red # => 10秒之后name为red,过了十秒自动过期删除

setrange: 替换值

set name 928532756@qq.com
setrange name 10 2980.com
get name # => "928532756@2980.com"

mset:一次设置多个 key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。

mset key1 HongWan1 key2 HongWan2 # => OK
get key1 # => "HongWan1"
get key2 # => "HongWan2"

msetnx:一次设置多个 key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置,但是不会覆盖已经存在的 key。如果这条命令返回 0,那么里面操作都会回滚,都不会被执行。

msetnx key2 HongWan2_new key3 HongWan3 # => (integer) 0
get key2 # => "HongWan2"
get key3 # => (nil)
# 可以看出如果这条命令返回 0,那么里面操作都会回滚,都不会被执行。

getset: 设置 key 的值,并返回 key 的旧值。如果 key 不存在,那么将返回 nil

127.0.0.1:6379> set name Lee
OK
127.0.0.1:6379> getset name Mp
"Lee"

getrange: 字符串截取

redis 127.0.0.1:6379> get name
# => "HongWan@126.com"
redis 127.0.0.1:6379> getrange name 0 6
# => "HongWan"
redis 127.0.0.1:6379> getrange name -7 -1
# => "126.com"
redis 127.0.0.1:6379> getrange name 7 100
# => "@126.com"

mget: 一次获取多个key,如果不存在则返回nil

127.0.0.1:6379> mget a b c d
# 1) "1"
# 2) "2"
# 3) "3"
# 4) (nil)

incr: 对 key 的值做加加(i++)操作,并返回新的值。注意 incr 一个不是 int 的 value 会返回错误,incr 一个不存在的 key,则设置 key 为 1

decr : 同上,对key的值做减减操作。

redis 127.0.0.1:6379> set age 20
# =>OK
redis 127.0.0.1:6379> incr age
# =>(integer) 21
redis 127.0.0.1:6379> get age
# =>"21"

incrby: 同 incr 类似,加指定值 ,key 不存在时候会设置 key,并认为原来的 value 是 0

decrby: 同上,减去指定的值

redis 127.0.0.1:6379> get age
# => "21"
redis 127.0.0.1:6379> incrby age 5
# => (integer) 26
redis 127.0.0.1:6379> get age
# => "26"

append:给指定 key 的字符串值追加 value,返回新字符串值的长度。

127.0.0.1:6379> set name 928532756
# => OK
127.0.0.1:6379> append name @qq.com
# => (integer) 16
127.0.0.1:6379> get name
# => "928532756@qq.com"

strlen: 获取指定值的长度

127.0.0.1:6379> strlen name
# => (integer) 16

Hash 类型及操作:

hset / hget:设置 / 获取指定hash field 的值,如果 key 不存在,则先创建。

127.0.0.1:6379> hset myhash field1 hello
# => (integer) 1
127.0.0.1:6379> hset myhash field2 world
# => (integer) 1
127.0.0.1:6379> hget myhash field1
# => "hello"
127.0.0.1:6379> hget myhash field1
# => "hello"
127.0.0.1:6379> hget myhash field2
# => "world"

hsetnx:设置 hash field 为指定值,如果 key 不存在,则先创建。如果 field 已经存在,返回 0,nx 是not exist 的意思。

redis 127.0.0.1:6379> hsetnx myhash field "Hello"
# => (integer) 1
redis 127.0.0.1:6379> hsetnx myhash field "Hello"
# => (integer) 0 第一次执行是成功的,但第二次执行相同的命令失败,原因是 field 已经存在了。

hmset / hmget: 同时设置/获取 hash 的多个 field。

127.0.0.1:6379> del myhash
# => (integer) 1
127.0.0.1:6379> hmset myhash field1 Hello field2 World
# => OK
127.0.0.1:6379> hmget myhash fiele1 field2 field3
# => 1) "Hello"
# => 2) "World"
# => 3) (nil) 由于数据库没有 field3,所以取到的是一个空值 nil

hexists: 测试指定的field是否存在

127.0.0.1:6379> hexists myhash field1
# => (integer) 1

hincrby:指定的 hash filed 加上给定值。可以为负数

127.0.0.1:6379> hset myhash field3 20
# (integer) 1
127.0.0.1:6379> hincrby myhash field3 -8
# (integer) 12

hlen:返回指定 hash 的 field 数量。

127.0.0.1:6379> hlen myhash
# (integer) 3

hdel: 删除指定hash的列, 如果要删除hash表本身,直接使用del

127.0.0.1:6379> hdel myhash field3
# (integer) 1

hkeys: 返回hash所有的列

127.0.0.1:6379> hkeys myhash
# 1) "field1"
# 2) "field2"

hvals: 返回hash所有的值

127.0.0.1:6379> hvals myhash
# 1) "Hello"
# 2) "World"

hgetall: 返货hash所有的键值

127.0.0.1:6379> hgetall myhash
# 1) "field1"
# 2) "Hello"
# 3) "field2"
# 4) "World"

lists  类型及操作 :

lpush : 在 key 对应 list 的头部添加字符串元素

lrange:  是用于取 mylist 的内容。

127.0.0.1:6379> lpush mylist "world"
# (integer) 1
127.0.0.1:6379> lpush mylist "hello"
# (integer) 2
127.0.0.1:6379> lrange mylist 0 -1
# 1) "hello"
# 2) "world"

rpush: 在 key 对应 list 的尾部添加字符串元素

127.0.0.1:6379> rpush mylist3 "hello"
# (integer) 1
127.0.0.1:6379> rpush mylist3 "world"
# (integer) 2
127.0.0.1:6379> lrange mylist3 0 -1
# 1) "hello"
# 2) "world"

linsert: 在 key 对应 list 的特定位置之前或之后添加字符串元素

127.0.0.1:6379> linsert mylist3 before "world" "there"
# (integer) 3
127.0.0.1:6379> lrange mylist3 0 -1
# 1) "hello"
# 2) "there"
# 3) "world"

lset: 替换 list 中指定索引的值

127.0.0.1:6379> rpush mylist4 "one"
# (integer) 1
127.0.0.1:6379> rpush mylist4 "two"
# (integer) 2
127.0.0.1:6379> rpush mylist4 "there"
# (integer) 3
127.0.0.1:6379> lset mylist4 0 "four"
# OK
127.0.0.1:6379> lset mylist4 2 "five"
# OK
127.0.0.1:6379> lrange mylist4 0 -1
# 1) "four"
# 2) "two"
# 3) "five"

lrem: 从 key 对应 list 中删除 count 个和 value 相同的元素。count>0 时,按从头到尾的顺序删除,具体如下:

127.0.0.1:6379> rpush mylist5 "hello"
# (integer) 1
127.0.0.1:6379> rpush mylist5 "hello"
# (integer) 2
127.0.0.1:6379> rpush mylist5 "foo"
# (integer) 3
127.0.0.1:6379> rpush mylist5 "hello"
# (integer) 4
127.0.0.1:6379> lrem mylist5 2 "hello"
# (integer) 2
127.0.0.1:6379> lrange mylist5 0 -1
# 1) "foo"
# 2) "hello"

count<0 时,按从尾到头的顺序删除,具体如下:

127.0.0.1:6379> rpush mylist6 "hello"
# (integer) 1
127.0.0.1:6379> rpush mylist6 "hello"
# (integer) 2
127.0.0.1:6379> rpush mylist6 "foo"
# (integer) 3
127.0.0.1:6379> rpush mylist6 "hello"
# (integer) 4
127.0.0.1:6379> lrem mylist6 -2 "hello"
# (integer) 2
127.0.0.1:6379> lrange mylist6 0 -1
# 1) "hello"
# 2) "foo"

count=0 时,删除全部,具体如下:

redis 127.0.0.1:6379> rpush mylist7 "hello"
# (integer) 1
redis 127.0.0.1:6379> rpush mylist7 "hello"
# (integer) 2
redis 127.0.0.1:6379> rpush mylist7 "foo"
# (integer) 3
redis 127.0.0.1:6379> rpush mylist7 "hello"
# (integer) 4
redis 127.0.0.1:6379> lrem mylist7 0 "hello"
# (integer) 3
redis 127.0.0.1:6379> lrange mylist7 0 -1
# 1) "foo"

ltrim: 保留指定索引范围内的值

127.0.0.1:6379>  rpush mylist8 "one"
# (integer) 1
127.0.0.1:6379> rpush mylist8 "two"
# (integer) 2
127.0.0.1:6379> rpush mylist8 "three"
# (integer) 3
127.0.0.1:6379> rpush mylist8 "four"
# (integer) 4
127.0.0.1:6379> ltrim mylist8 1 -1
# OK
127.0.0.1:6379> lrange mylist8 0 -1
# 1) "two"
# 2) "three"
# 3) "four"

lpop: 弹出头部元素并且移出List

rpop: 弹出尾部元素并且移出List

127.0.0.1:6379> lrange mylist 0 -1
# 1) "hello"
# 2) "world"
127.0.0.1:6379> lpop mylist
# "hello"
127.0.0.1:6379> lrange mylist 0 -1
# 1) "world"

rpoplpush: 从第一个 list 的尾部移除元素, 并添加到第二个 list 的头部,最后返回被移除的元素值,整个操作是原子的.如果第一个 list 是空或者不存在返回 nil

127.0.0.1:6379> lrange mylist5 0 -1
# 1) "foo"
# 2) "hello"
127.0.0.1:6379> lrange mylist6 0 -1
# 1) "hello"
# 2) "foo"
127.0.0.1:6379> rpoplpush mylist5 mylist6
# "hello"
127.0.0.1:6379> lrange mylist5 0 -1
# 1) "foo"
127.0.0.1:6379> lrange mylist6 0 -1
# 1) "hello"
# 2) "hello"
# 3) "foo"

lindex: 返回名称为 key 的 list 中 index 位置的元素

127.0.0.1:6379> lrange mylist2 0 -1
# 1) "hello"
# 2) "wird"
127.0.0.1:6379> lindex mylist2 0
# "hello"

llen: 获取list的长度

127.0.0.1:6379> llen mylist2
# (integer) 2

sets  类型及操作:

sadd: 向名称为 key 的 set 中添加元素

smembers: 查看 myset 中的所有元素

127.0.0.1:6379> sadd myset "hello"
# (integer) 1
127.0.0.1:6379> sadd myset "world"
# (integer) 1
127.0.0.1:6379> sadd myset "world"
# (integer) 0 由于第三个元素跟第二个元素是相同的,所以第三个元素没有添加成功
127.0.0.1:6379> smembers myset
# 1) "world"
# 2) "hello"

srem: 删除指定的值

127.0.0.1:6379> sadd myset2 "one"
# (integer) 1
127.0.0.1:6379> sadd myset2 "two"
# (integer) 1
127.0.0.1:6379> sadd myset2 "three"
# (integer) 1
127.0.0.1:6379> srem myset2 "one"
# (integer) 1
127.0.0.1:6379> srem myset2 "four"
# (integer) 0 由于元素 中没有 four 所以,此条 srem 命令执行失败。
127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"

spop: 【随机、随机、随机】弹出一个元素并从set中删除

127.0.0.1:6379> sadd myset3 "one"
# (integer) 1
127.0.0.1:6379> sadd myset3 "two"
# (integer) 1
127.0.0.1:6379> sadd myset3 "three"
# (integer) 1
127.0.0.1:6379> spop myset3
# "two"

sdiff: 返回所有给定 key 与第一个 key 的差集

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smembers myset3
# 1) "three"
# 2) "one"
127.0.0.1:6379> sdiff myset2 myset3
# 1) "two"

sdiffstore: 对比两组set的差集,并且存入另一个set中

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smembers myset3
# 1) "three"
# 2) "one"
127.0.0.1:6379> sdiff myset2 myset3
# 1) "two"
127.0.0.1:6379> sdiffstore myset4 myset2 myset3
# (integer) 1
127.0.0.1:6379> smembers myset4
# 1) "two"

sinter: (核心功能)返回所有给定 key 的交集

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smembers myset3
# 1) "three"
# 2) "one"
127.0.0.1:6379> sinter myset2 myset3
# 1) "three"

sinterstore: 返回所有给定 key 的交集,并将结果存为另一个 key

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smembers myset3
# 1) "three"
# 2) "one"
127.0.0.1:6379> sinterstore myset4 myset2 myset3
# (integer) 1
127.0.0.1:6379> smembers myset4
# 1) "three"

sunion: 返回所有给定 key 的并集

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smembers myset3
# 1) "three"
# 2) "one"
127.0.0.1:6379> sunion myset2 myset3
# 1) "one"
# 2) "two"
# 3) "three"

sunionstore: 返回所有给定 key 的并集,并将结果存为另一个 key

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smembers myset3
# 1) "three"
# 2) "one"
127.0.0.1:6379> sunionstore myset4 myset2 myset3
# (integer) 3
127.0.0.1:6379> smembers myset4
# 1) "one"
# 2) "two"
# 3) "three"

smove:从第一个 key 对应的 set 中 移除 指定值 并添加到第二个对应 set 中

127.0.0.1:6379> smembers myset2
# 1) "three"
# 2) "two"
127.0.0.1:6379> smove myset2 myset7 three
# (integer) 1
127.0.0.1:6379> smembers myset7
# 1) "three"
127.0.0.1:6379> smembers myset2
# 1) "two"

scard: 返回指定set的长度

127.0.0.1:6379> scard myset2
# (integer) 1

sismember: 检测是否包含指定值

127.0.0.1:6379> smembers myset2
# 1) "two"
127.0.0.1:6379> sismember myset2 two
# (integer) 1
127.0.0.1:6379> sismember myset2 one
# (integer) 0

srandmember: 机返回名称为 key 的 set 的一个元素,但是不删除元素

127.0.0.1:6379> smembers myset2
# 1) "two"
127.0.0.1:6379> sismember myset2 two
# (integer) 1
127.0.0.1:6379> sismember myset2 one
# (integer) 0

sorted sets  类型及操作

zadd: 向名称为 key 的 zset 中添加元素 member,score 用于排序。如果该元素已经存在,则根据score 更新该元素的顺序

127.0.0.1:6379> zadd myzset 1 "one"
# (integer) 1
127.0.0.1:6379> zadd myzset 2 "two"
# (integer) 1
127.0.0.1:6379> zadd myzset 3 "two"
# (integer) 0
127.0.0.1:6379> zrange myzset 0 -1 withscores
# 1) "one"
# 2) "1"
# 3) "two"
# 4) "3" two 被设置了 2 次,那么将以最后一次的设置为准

zrem: 删除名称为 key 的 zset 中的元素 member

127.0.0.1:6379> zrange myzset 0 -1 withscores
# 1) "one"
# 2) "1"
# 3) "two"
# 4) "3"
127.0.0.1:6379> zrem myzset two
# (integer) 1
127.0.0.1:6379> zrange myzset 0 -1 withscores
# 1) "one"
# 2) "1"
# 可以看到 two 被删除了

zincrby: 本例中将 one 的 score 从 1 增加了 2,增加到了 3

127.0.0.1:6379> zadd myzset2 1 "one"
# (integer) 1
127.0.0.1:6379> zadd myzset2 2 "two"
# (integer) 1
127.0.0.1:6379> zincrby myzset2 2 "one"
# "3"
127.0.0.1:6379> zrange myzset2 0 -1 withscores
# 1) "two"
# 2) "2"
# 3) "one"
# 4) "3"

zrank: 返回store(key)

127.0.0.1:6379> zrange myzset2 0 -1 withscores
# 1) "two"
# 2) "2"
# 3) "one"
# 4) "3"
127.0.0.1:6379> zrank myzset2 two
# (integer) 0
127.0.0.1:6379> zrank myzset2 one
# (integer) 1

zrevrank: 返回所在的排名

127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) ""
3) "two"
4) ""
5) "three"
6) ""
7) "four"
8) ""
127.0.0.1:6379> zrevrank myzset3 two
(integer) 2

zrevrange: (按 score 从大到小排序)中的 index 从 start 到 end 的所有元素

127.0.0.1:6379> zrevrange myzset3 0 -1 withscores
# 1) "four"
# 2) "4"
# 3) "three"
# 4) "3"
# 5) "two"
# 6) "2"
# 7) "one"
# 8) "1"

zrangebyscore: 返回指定区间的score

127.0.0.1:6379> zrangebyscore myzset3 2 3 withscores
# 1) "two"
# 2) "2"
# 3) "three"
# 4) "3"

zcount: 返回指定区间的数量

127.0.0.1:6379> zcount myzset3 2 3
# (integer) 2

zcard: 返回集合中元素个数

redis 127.0.0.1:6379> zcard myzset3
# (integer) 4

zscore:返回给定元素对应的 score(key)

127.0.0.1:6379> zrange myzset3 0 -1 withscores
# 1) "one"
# 2) "1"
# 3) "two"
# 4) "2"
# 5) "three"
# 6) "3"
# 7) "four"
# 8) "4"
127.0.0.1:6379> zscore myzset3 two
# "2"

zremrangebyrank: 删除集合中 score 在给定区间的元素

127.0.0.1:6379> zrange myzset3 0 -1 withscores
# 1) "one"
# 2) "1"
# 3) "two"
# 4) "2"
# 5) "three"
# 6) "3"
# 7) "four"
# 8) "4"
127.0.0.1:6379> zremrangebyrank myzset3 3 3
(integer) 1
127.0.0.1:6379> zrange myzset3 0 -1 withscores
# 1) "one"
# 2) "1"
# 3) "two"
# 4) "2"
# 5) "three"
# 6) "3" 下标为3,既four被删除了

zremrangebyscore: 删除集合中 score 在给定区间的元素

127.0.0.1:6379> zrange myzset3 0 -1 withscores
# 1) "one"
# 2) "1"
# 3) "two"
# 4) "2"
# 5) "three"
# 6) "3"
127.0.0.1:6379> zremrangebyscore myzset3 1 2
# (integer) 2
127.0.0.1:6379> zrange myzset3 0 -1 withscores
# 1) "three"
# 2) "3"

Redis  常用命令

keys: 返回满足给定 pattern 的所有 key

127.0.0.1:6379> keys *
# 1) "myset4"
# 2) "myset7"
# 3) "a"
# 4) "myzset"
# 5) "c"
# 6) "mylist4"
# 7) "myset2"
# 8) "myset"
# 9) "mylist2"
# 10) "myzset2"
# 11) "mylist5"
# 12) "mylist3"
# 13) "myset3"
# 14) "myhash"
# 15) "mylist"
# 16) "mylist8"
# 17) "myzset3"
# 18) "b"
# 19) "mylist6"

用表达式 mylist*,代表取出所有以 mylist 开头的 key

127.0.0.1:6379> keys mylist*
# 1) "mylist4"
# 2) "mylist2"
# 3) "mylist5"
# 4) "mylist3"
# 5) "mylist"
# 6) "mylist8"
# 7) "mylist6"

exists:确认一个 key 是否存在

redis 127.0.0.1:6379> exists HongWan
# (integer) 0 不存在 HongWan 这个 key
redis 127.0.0.1:6379> exists age
# (integer) 1 age 这个 key 是存在的

del:删除一个 key

redis 127.0.0.1:6379> del age
# (integer) 1
redis 127.0.0.1:6379> exists age
# (integer) 0

expire:设置一个 key 的过期时间(单位:秒)

ttl: 获取一个 key 值的有效时期,直至为 -1 说明此值已过期 或者 没有过期时间(比如中途使用 persist 移除了过期时间,这样就永远不会过期了)

127.0.0.1:6379> expire a 10
# (integer) 1
127.0.0.1:6379> ttl a
# (integer) 7
127.0.0.1:6379> ttl a
# (integer) 6
127.0.0.1:6379> ttl a
# (integer) -2
127.0.0.1:6379> exists a
# (integer) 0

move:将当前数据库中的 key 转移到其它数据库中

在本例中,我先显式的选择了数据库 0(重点:默认的数据库就是0),然后在这个库中设置一个 key,接下来我们将这个
key 从数据库 0 移到数据库 1, 之后我们确认在数据库 0 中无此 key 了, 但在数据库 1 中存在
这个 key,说明我们转移成功了

127.0.0.1:6379> select 0
# OK
127.0.0.1:6379> exists 30
# (integer) 0
127.0.0.1:6379> set age 30
# OK
127.0.0.1:6379> get age
# "30"
127.0.0.1:6379> move age 1
# (integer) 1
127.0.0.1:6379> get age
# (nil)
127.0.0.1:6379> select 1
# OK
127.0.0.1:6379[1]> get age
# "30"

persist: 删除过期时间(让它永不过期)

127.0.0.1:6379> expire b 300
# (integer) 1
127.0.0.1:6379> ttl b
# (integer) 296
127.0.0.1:6379> ttl b
# (integer) 294
127.0.0.1:6379> ttl b
# (integer) 293
127.0.0.1:6379> get b
# "2"
127.0.0.1:6379> persist b
# (integer) 1
127.0.0.1:6379> get b
# "2"
127.0.0.1:6379> ttl b
# (integer) -1

randomkey: 随机返回一个 key

127.0.0.1:6379> randomkey
# "myzset"

rename: 重命名 key 要注意覆盖影响

127.0.0.1:6379> get a
# "1"
127.0.0.1:6379> get b
# "2"
127.0.0.1:6379> rename b a
# OK
127.0.0.1:6379> get a
# "2"

type: 返回值的类型

127.0.0.1:6379> type a
# string
127.0.0.1:6379> type myzset
# zset
127.0.0.1:6379> type mylist
# list

服务器相关命令

ping: 测试连接是否存活

redis 127.0.0.1:6379> ping
# PONG //执行下面命令之前,我们停止 redis 服务器
redis 127.0.0.1:6379> ping
# Could not connect to Redis at 127.0.0.1:6379: Connection refused //执行下面命令之前,我们启动 redis 服务器
not connected> ping
PONG

echo:在命令行打印一些内容

redis 127.0.0.1:6379> echo HongWan
# "HongWan"

select: 选择数据库。Redis 数据库编号从 0~15,我们可以选择任意一个数据库来进行数据的存取。

redis 127.0.0.1:6379> select 1
# OK
redis 127.0.0.1:6379[1]> select 16
# (error) ERR invalid DB index

quit:退出连接。

redis 127.0.0.1:6379> quit
[root@localhost redis-2.2.12]#

dbsize:返回当前数据库中 key 的数目。

redis 127.0.0.1:6379> dbsize
# (integer) 18

info: 获取服务器的信息和统计。

redis 127.0.0.1:6379> info
redis_version:2.2.12
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:32
multiplexing_api:epoll
...

monitor: 实时转储收到的请求。

启动之后,开启另一个命令行,可以看到监听到了keys *

config get: 获取服务器配置信息。

127.0.0.1:6379> config get dir
# 1) "dir"
# 2) "C:\\Users\\lizhaohong\\Desktop\\redis-windows-master\\src\\msopentech\\redis-64.2.8.2101"

flushdb:删除当前选择数据库中的所有 key。

在本例中我们将 0 号数据库中的 key 都清除了。

127.0.0.1:6379> dbsize
# (integer) 18
127.0.0.1:6379> flushdb
# OK
127.0.0.1:6379> dbsize
# (integer) 0

flushall:删除所有数据库中的所有 key。

redis 127.0.0.1:6379[1]> dbsize
#(integer) 1
redis 127.0.0.1:6379[1]> select 0
#OK
redis 127.0.0.1:6379> flushall
#OK
redis 127.0.0.1:6379> select 1
#OK
redis 127.0.0.1:6379[1]> dbsize
# (integer) 0

最新文章

  1. caching与缓存
  2. vi显示行号
  3. 通过运行时动态给OC分类添加属性
  4. UI进阶 KVO
  5. WebService优点和缺点小结
  6. cf B. Color the Fence
  7. linux下制作共享库.a和 .so
  8. 自定义View 一 (继承VIew重写onDraw方法)
  9. CenOS 用PF_RING优化Snort
  10. [BZOJ 3319] 黑白树
  11. 攻克vue路由
  12. System.out.println()的解释
  13. RobotFramework下的http接口自动化Set Request Header 关键字的使用
  14. .Net Core 通过依赖注入和动态加载程序集实现宿程序和接口实现类库完全解构
  15. python的运算符与表达式
  16. Vue技术内幕 出去看看吧
  17. python数据类型及其详解
  18. istream不是std的成员
  19. zabbix通过简单shell命令监控elasticsearch集群状态
  20. git push 使用

热门文章

  1. 我为什么喜欢Go语言
  2. django rest framework如何实现nest field显示,如何保存有外键的字段更新
  3. Codeforces Beta Round #4 (Div. 2 Only) A. Watermelon【暴力/数学/只有偶数才能分解为两个偶数】
  4. hadoop之linux常用命令
  5. Python的程序结构[1] -&gt; 方法/Method[4] -&gt; 魔术方法 __call__ / __str__ / __repr__
  6. shell 文件夹总大小 du -sh 文件夹
  7. [BZOJ4568][SCOI2016]幸运数字(倍增LCA,点分治+线性基)
  8. 【bzoj1951】【古代猪文】Lucas定理+欧拉定理+孙子定理
  9. lua的模式匹配
  10. Android中Context详解 ---- 你所不知道的Context(转)