1、到github上下载需要的版本,我用的是官方的windows版本。
redis下载地址
2、然后启动Redis
Set REDIS_HOME=C:\Database\Redis\Redis-x64-2.8.2103 Set PATH=%REDIS_HOME%;%PATH% redis-server.exe D:\Database\Redis2.8\db\redis.windows.conf
配置文件redis.windows.conf中,我只修改了这两项:
logfile "D:/Database/Redis2.8/db/logs/redis_log.txt" dir "D:/Database/Redis2.8/db/data/"
如果要停止redis
#停止Redis redis-cli -h localhost -p 6379 shutdown
如果要查看redis信息
#查看信息 redis-cli -h localhost -p 6379 info
3、启动redis-cli.exe,连接到redis
#连接Redis redis-cli -h localhost -p 6379
4、String类型数据操作
localhost:6379> dbsize (integer) 0 localhost:6379> set key01 a OK localhost:6379> set key02 b OK localhost:6379> set key03 c OK localhost:6379> set key04 d OK localhost:6379> set key05 e OK localhost:6379> set key06 f OK localhost:6379> dbsize (integer) 6 localhost:6379> set name hansen OK localhost:6379> keys key* 1) "key03" 2) "key04" 3) "key01" 4) "key05" 5) "key02" 6) "key06" localhost:6379> exists key01 (integer) 1 localhost:6379> exists key07 (integer) 0 localhost:6379> get key06 "f" localhost:6379> get name "hansen" localhost:6379> rename name myname OK localhost:6379> get myname "hansen" localhost:6379> get name (nil) localhost:6379> dbsize (integer) 7 localhost:6379> move key06 1 (integer) 1 localhost:6379> dbsize (integer) 6 localhost:6379> exists key06 (integer) 0 localhost:6379> select 1 OK localhost:6379[1]> keys * 1) "key06" localhost:6379[1]> select 0 OK localhost:6379> exists key05 (integer) 1 localhost:6379> del key05 (integer) 1 localhost:6379> exists key05 (integer) 0
5、Map类型数据操作
localhost:6379> hset hset01 username "hansen" (integer) 1 localhost:6379> hset hset02 username "neohope" (integer) 1 localhost:6379> dbsize (integer) 2 localhost:6379> hset hset01 sex "male" (integer) 0 localhost:6379> hset hset02 sex "male" (integer) 1 localhost:6379> dbsize localhost:6379> type hset01 hash (integer) 2 localhost:6379> hlen hset01 (integer) 2 localhost:6379> hkeys hset01 1) "username" 2) "sex" localhost:6379> hget hset01 username "hansen"
6、List类型数据操作
localhost:6379> lpush listkey01 a (integer) 1 localhost:6379> lpush listkey01 b (integer) 2 localhost:6379> lpush listkey01 c (integer) 3 localhost:6379> lpush listkey01 d (integer) 4 localhost:6379> lpush listkey01 e (integer) 5 localhost:6379> lrange listkey01 0 -1 1) "e" 2) "d" 3) "c" 4) "b" 5) "a" localhost:6379> lindex listkey01 3 "b" localhost:6379> lrem listkey01 0 c (integer) 1 localhost:6379> lrange listkey01 0 -1 1) "e" 2) "d" 3) "b" 4) "a" localhost:6379> lpop listkey01 "e" localhost:6379> lpop listkey01 "d" localhost:6379> lrange listkey01 0 -1 1) "b" 2) "a" localhost:6379> lpush listkey02 1 (integer) 1 localhost:6379> lpush listkey02 2 (integer) 2 localhost:6379> lpush listkey02 3 (integer) 3 localhost:6379> lpush listkey02 4 (integer) 4 localhost:6379> lpush listkey02 5 (integer) 5 localhost:6379> lrange listkey02 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" localhost:6379> sort listkey02 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" localhost:6379> lrange listkey02 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" localhost:6379>
7、Set类型数据操作
localhost:6379> sadd keyset01 1 2 3 (integer) 3 localhost:6379> sadd keyset02 4 5 6 (integer) 3 localhost:6379> dbsize (integer) 2 localhost:6379> type keyset01 set localhost:6379> smembers keyset01 1) "1" 2) "2" 3) "3"
8、Redis常用命令(在命令行使用时,请把函数的括号及逗号都替换为空格)
| 连接操作相关的命令 | |
| quit | 关闭连接(connection) |
| auth | 简单密码认证 |
| 对value操作的命令 | |
| exists(key) | 确认一个key是否存在 |
| del(key) | 删除一个key |
| type(key) | 返回值的类型 |
| keys(pattern) | 返回满足给定pattern的所有key |
| randomkey | 随机返回key空间的一个key |
| rename(oldname, newname) | 将key由oldname重命名为newname,若newname存在则删除newname表示的key |
| dbsize | 返回当前数据库中key的数目 |
| expire | 设定一个key的活动时间(s) |
| ttl | 获得一个key的活动时间 |
| select(index) | 按索引查询 |
| move(key, dbindex) | 将当前数据库中的key转移到有dbindex索引的数据库 |
| flushdb | 删除当前选择数据库中的所有key |
| flushall | 删除所有数据库中的所有key |
| 对String操作的命令 | |
| set(key, value) | 给数据库中名称为key的string赋予值value |
| get(key) | 返回数据库中名称为key的string的value |
| getset(key, value) | 给名称为key的string赋予上一次的value |
| mget(key1, key2,…, key N) | 返回库中多个string(它们的名称为key1,key2…)的value |
| setnx(key, value) | 如果不存在名称为key的string,则向库中添加string,名称为key,值为value |
| setex(key, time, value) | 向库中添加string(名称为key,值为value)同时,设定过期时间time |
| mset(key1, value1, key2, value2,…key N, value N) | 同时给多个string赋值,名称为key i的string赋值value i |
| msetnx(key1, value1, key2, value2,…key N, value N) | 如果所有名称为key i的string都不存在,则向库中添加string,名称key i赋值为value i |
| incr(key) | 名称为key的string增1操作 |
| incrby(key, integer) | 名称为key的string增加integer |
| decr(key) | 名称为key的string减1操作 |
| decrby(key, integer) | 名称为key的string减少integer |
| append(key, value) | 名称为key的string的值附加value |
| substr(key, start, end) | 返回名称为key的string的value的子串 |
| 对List操作的命令 | |
| rpush(key, value) | 在名称为key的list尾添加一个值为value的元素 |
| lpush(key, value) | 在名称为key的list头添加一个值为value的 元素 |
| llen(key) | 返回名称为key的list的长度 |
| lrange(key, start, end) | 返回名称为key的list中start至end之间的元素(下标从0开始,下同) |
| ltrim(key, start, end) | 截取名称为key的list,保留start至end之间的元素 |
| lindex(key, index) | 返回名称为key的list中index位置的元素 |
| lset(key, index, value) | 给名称为key的list中index位置的元素赋值为value |
| lrem(key, count, value) | 删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count>0从头至尾删除count个值为value的元素,count<0从尾到头删除|count|个值为value的元素。 |
| lpop(key) | 返回并删除名称为key的list中的首元素 rpop(key),返回并删除名称为key的list中的尾元素 |
| blpop(key1, key2,… key N, timeout) | lpop命令的block版本。即当timeout为0时,若遇到名称为key i的list不存在或该list为空,则命令结束。如果timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi+1开始的list执行pop操作。 |
| brpop(key1, key2,… key N, timeout) | rpop的block版本。参考上一命令。 |
| rpoplpush(srckey, dstkey) | 返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部 |
| 对Set操作的命令 | |
| sadd(key, member) | 向名称为key的set中添加元素member |
| srem(key, member) | 删除名称为key的set中的元素member |
| spop(key) | 随机返回并删除名称为key的set中一个元素 |
| smove(srckey, dstkey, member) | 将member元素从名称为srckey的集合移到名称为dstkey的集合 |
| scard(key) | 返回名称为key的set的基数 |
| sismember(key, member) | 测试member是否是名称为key的set的元素 |
| sinter(key1, key2,…key N) | 求交集 |
| sinterstore(dstkey, key1, key2,…key N) | 求交集并将交集保存到dstkey的集合 |
| sunion(key1, key2,…key N) | 求并集 |
| sunionstore(dstkey, key1, key2,…key N) | 求并集并将并集保存到dstkey的集合 |
| sdiff(key1, key2,…key N) | 求差集 |
| sdiffstore(dstkey, key1, key2,…key N) | 求差集并将差集保存到dstkey的集合 |
| smembers(key) | 返回名称为key的set的所有元素 |
| srandmember(key) | 随机返回名称为key的set的一个元素 |
| 对zset(sorted set)操作的命令 | |
| zadd(key, score, member) | 向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score更新该元素的顺序。 |
| zrem(key, member) | 删除名称为key的zset中的元素member |
| zincrby(key, increment, member) | 如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment |
| zrank(key, member) | 返回名称为key的zset(元素已按score从小到大排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil” |
| zrevrank(key, member) | 返回名称为key的zset(元素已按score从大到小排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil” |
| zrange(key, start, end) | 返回名称为key的zset(元素已按score从小到大排序)中的index从start到end的所有元素 |
| zrevrange(key, start, end) | 返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素 |
| zrangebyscore(key, min, max) | 返回名称为key的zset中score >= min且score <= max的所有元素 |
| zcard(key):返回名称为key的zset的基数 zscore(key, element) | 返回名称为key的zset中元素element的 |
| score zremrangebyrank(key, min, max) | 删除名称为key的zset中rank >= min且rank <= max的所有元素 |
| zremrangebyscore(key, min, max) | 删除名称为key的zset中score >= min且score <= max的所有元素 |
| zunionstore / zinterstore(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN, AGGREGATE SUM|MIN|MAX) | 对N个zset求并集和交集,并将最后的集合保存在dstkeyN中。对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于的WEIGHT参数。如果没有提供WEIGHT,默认为1。默认的AGGREGATE是SUM,即结果集合中元素的score是所有集合对应元素进行SUM运算的值,而MIN和MAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。 |
| 对Hash操作的命令 | |
| hset(key, field, value) | 向名称为key的hash中添加元素field<—>value |
| hget(key, field) | 返回名称为key的hash中field对应的value |
| hmget(key, field1, …,field N) | 返回名称为key的hash中field i对应的value |
| hmset(key, field1, value1,…,field N, value N) | 向名称为key的hash中添加元素field i<—>value i |
| hincrby(key, field, integer) | 将名称为key的hash中field的value增加integer |
| hexists(key, field) | 名称为key的hash中是否存在键为field的域 |
| hdel(key, field) | 删除名称为key的hash中键为field的域 |
| hlen(key) | 返回名称为key的hash中元素个数 |
| hkeys(key) | 返回名称为key的hash中所有键 |
| hvals(key) | 返回名称为key的hash中所有键对应的value |
| hgetall(key) | 返回名称为key的hash中所有的键(field)及其对应的value |
| 持久化 | |
| save | 将数据同步保存到磁盘 |
| bgsave | 将数据异步保存到磁盘 |
| lastsave | 返回上次成功将数据保存到磁盘的Unix时戳 |
| shundown | 将数据同步保存到磁盘,然后关闭服务 |
| 远程服务控制 | |
| info | 提供服务器的信息和统计 |
| monitor | 实时转储收到的请求 |
| slaveof | 改变复制策略设置 |
| config | 在运行时配置Redis服务器 |

