今天上午整理了一下redis的入门必备资料,以备后续使用。到官网看了下稳定版到3.2,测试版到4.0了。但我下载3.2解压发现没有redis-server,一直无法正常用命令行启动。就在GitHub上找了windows-x64的下载地址,才算一切正常。
运行环境:win7-x64+redis3.0.5
参考资料:
1. Windows 64位下安装Redis超详细教程
2. redis常用命令
1.首先是下载安装吧,这里提供了好几个版本的安装版.msi和免安装版.zip,我用的免安装,版本是用的3.0.504
下载地址:https://github.com/MicrosoftArchive/redis/releases
右键解压Redis ZIP包,把所有文件解压到redis文件夹中,包下有这些文件:其中redis-server.exe是redis服务端程序,要用redis服务就要先开启服务端(服务端开启需要window环境配置,redis.windows.conf和redis.windows-service.conf是需要的配置文件。二者区别是有没有日志打印这个效果。但是如果用-service这个配置启动服务端,客户端启动后无法输入,不知道啥原因。那就用第一个配置文件),然后开启客户端redis-cli.exe.最后那个doc文档Windows Service Documentation.docx是有关如何使用redis的说明。在这里你可以大致了解,不过有些不太准确,比如如何启动服务端的就不对。先看的看看
现在版本的客户端可以在服务端未开启的情况下启动成功,但是用不了,应为命令行输入不进去。。。,旧版的是服务端不开启,客户端开启就报错,启动不成功的。所以还是要先开启服端。
下面的这个图是两个环境配置文件.conf的区别点,一看就明白。
2.运行服务端和客户端
按照启动顺序,先服务端,在客户端。
打开解压的文件夹,在这里调出命令窗口。输入:
redis-server redis.windows.conf或者redis-server.exe redis.windows.conf都行,注意用空格隔开。
这里用的配置是带日志打印的。效果如下:
这就启动了redis服务了。下面是客户端redis-cli.exe—也是在该文件目
录中再打开一个命令窗口,刚才打开一个启动redis服务了.
这样就完成了redis的服务端和客户端的启动。下面就可以在客户端命令窗口中学习redis命令了。
这里有redis命令大全。可以参考这个来进行学习命令行————->
这里有对redis常用命令的总结:
1 连接操作命令
quit:关闭连接(connection)
auth:简单密码认证
help cmd: 查看cmd帮助,例如:help quit
2 持久化
save:将数据同步保存到磁盘
bgsave:将数据异步保存到磁盘
lastsave:返回上次成功将数据保存到磁盘的Unix时戳
shutdown:将数据同步保存到磁盘,然后关闭服务
3 远程服务控制
info:提供服务器的信息和统计
monitor:实时转储收到的请求
slaveof:改变复制策略设置
config:在运行时配置Redis服务器
4 对key操作的命令
exists(key):确认一个key是否存在
del(key):删除一个key
type(key):返回值的类型
keys(pattern):返回满足给定pattern的所有key
randomkey:随机返回key空间的一个
keyrename(oldname, newname):重命名key
dbsize:返回当前数据库中key的数目
expire:设定一个key的活动时间(s)
ttl:获得一个key的活动时间
select(index):按索引查询
move(key, dbindex):移动当前数据库中的key到dbindex数据库
flushdb:删除当前选择数据库中的所有key
flushall:删除所有数据库中的所有key
5 String
set(key, value):给数据库中名称为key的string赋予值value
get(key):返回数据库中名称为key的string的value
getset(key, value):给名称为key的string赋予上一次的value
mget(key1, key2,…, key N):返回库中多个string的value
setnx(key, value):添加string,名称为key,值为value
setex(key, time, value):向库中添加string,设定过期时间time
mset(key N, value N):批量设置多个string的值
msetnx(key N, value N):如果所有名称为key i的string都不存在
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的子串
6 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之间的元素
ltrim(key, start, end):截取名称为key的list
lindex(key, index):返回名称为key的list中index位置的元素
lset(key, index, value):给名称为key的list中index位置的元素赋值
lrem(key, count, value):删除count个key的list中值为value的元素
lpop(key):返回并删除名称为key的list中的首元素
rpop(key):返回并删除名称为key的list中的尾元素
blpop(key1, key2,… key N, timeout):lpop命令的block版本。
brpop(key1, key2,… key N, timeout):rpop的block版本。
rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
7 Set
sadd(key, member):向名称为key的set中添加元素member
srem(key, member) :删除名称为key的set中的元素member
spop(key) :随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名称为key的set的基数
sismember(key, member) :member是否是名称为key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
sunion(key1, (keys)) :求并集
sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
smembers(key) :返回名称为key的set的所有元素
srandmember(key) :随机返回名称为key的set的一个元素
8 Hash
hset(id, key, value):向名称为id的hash中添加元素key
hget(id, key):返回名称为id的hash中key对应的value
hmget(id, (keys)):返回名称为id的hash中keys对应的value
hmset(id, (keys)):向名称为id的hash中添加多个元素key
hincrby(id, key, integer):将名称为id的hash中key的value增加integer
hexists(id, key):名称为id的hash中是否存在键为key的域
hdel(id, key):删除名称为id的hash中键为key的域
hlen(id):返回名称为id的hash中元素个数
hkeys(id):返回名称为id的hash中所有键
hvals(id):返回名称为id的hash中所有键对应的value
hgetall(id):返回名称为id的hash中所有的键(key)及其对应的value