Redis是完全开源的ANSI C语言编写、遵守BSD协议,高性能的key-value数据库。
在 https://github.com/MicrosoftArchive/redis/releases下下载Redis-x64-3.2.100.zip。
将下载的包移动到c盘下,新建redis文件夹,将压缩包在redis文件夹下解压。
打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。
C:\redis> redis-server.exe redis.windows.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.100 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 11604 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [11604] 24 Nov 11:04:00.253 # Server started, Redis version 3.2.100
这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey
3.1获取配置
#CONFIG GET *
3.2便捷配置
#CONFIG SET loglevel "notice"
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
启动redis客户端:redis-cli
检测redis服务是否启动:ping -----》返回pong
连接远程:redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
增:SET keyname redis ---key后面跟key的名称和key的值
删:del keyname
改:EXPIRE yhkey 60 ---修改key的过期时间、EXPIRE以秒计算、 PEXPIRE 以毫秒计算
ttl myname -----修改key永不过期
rename key yhkey9
查:keys * 查询所有key
keys yh* 过滤出包含yh的key
exists keyname 判断key是否存在
pttl mekey查找key的剩余时间
增:SET keyname2 "hello myname is yaohong, what is your name?"
查:GET keyname2
截取字符串:GETRANGE keyname2 2 14
同时获取多个字符串:MGET yhkey1 yhkey3
增:hmset(同时将多个file-value设置到hash表中)、hget
删:hdel
查:hget、hgetall、hkey获取hash表中所有域(file)、
hmget myhash file1 file2 file3(返回哈希表中,一个或多个给定字段的值)
hvals获取哈希表中所有值
判:hexists 判断是否存在
hlen获取file个数
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
增:lpush(头部插入元素)、rpush(尾部插入元素)
删:lpop(移除列表第一个元素)、rpop(移除列表最后一个元素)、lrem keyname count value(count大于0从头部开始删除value元素)
查:llen(获取列表长度)、lreng key start stop(获取start到stop的元素)
改:lset、rset
增:sadd、
sunionstore myset myset1 myset2 命令将给定集合的并集存储在指定的集合 myset中
删:spop移除集合中随机数
srem按值移除集合中元素
查:smembers、scard(获取成员数)、
sdiff(列出第一个集合拥有,第二个集合没有的元素)、
sdiffstore(将第一个集合拥有,第二个集合没有的元素保存到第三个集合中)、
sinter(列出两个集合的交集)
smembers列出集合所有成员
改:smove myset1 myset2 "key1" 将key1从myset1移到myset2
判:sismember 判断元素是否是key的成员
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
增:zadd keyname scoren value
删:zrem keyname nember 移除有序集合中的一个或多个成员
zremrangebylex key min max 移除有序集合中给定的字典区间的所有成员。
zremrangebyrank key start stop 移除有序集合中给定的排名区间的所有成员
zremrangebyscore key min max 移除有序集合中给定的分数区间的所有成员
查:zcard 获取集合的成员数
zcount key min max 计算在有序集合中指定区间分数的成员数
zrange key start stop WITHSCORES 通过索引区间返回有序集合成指定区间内的成员
Redis 事务可以一次执行多个命令
开始事务:MULTI
执行事务:EXEC
取消事务:DISCARD 取消事务,放弃执行事务块内的所有命令
监视事务:WATCH 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
取消监视:UNWATCH 取消 WATCH 命令对所有 key 的监视。
Eval 命令使用 Lua 解释器执行脚本。
5.10服务器
Redis 服务器命令主要是用于管理 redis 服务。
统计参数:INFO
重置 INFO 命令中的某些统计数据:config resetstat
键数:dbsize
删除所有key:flushall
删除当前数据库key:flushdb
异步保存数据到硬盘:save
备份:save
恢复:1:将生成的rdb文件移动到 redis 安装目录(执行config get dir)并启动服务即可
创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。
设置密码:config set requirepass "itnihao" auth itnihao 获取密码:CONFIG get requirepass
查看最大连接数:config get maxclients
设置最大连接数:redis-server --maxclients 100000
Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。
分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。