一.下载
GitHub下载地址
提取码:sv0n Redis-x64-3.2.100
二.安装
注意:这里演示的是zip格式的安装
下载完之后直接解压即可使用
三.初步配置(redis.windows.conf文件中修改)
(一)密码
requirepass foobared
requirepass xxx
(二)数据堆栈大小
maxmemory <bytes>
maxmemory 1024000000
四.启动
启动服务器:进入到redis的bin目录,cmd运行redis-server.exe redis.windows.conf
启动服务:重新打开cmd,进入到bin目录运行redis-cli.exe
输入密码:没有密码即可跳过此步,否则先输入密码:auth ‘xxx’;输入PING弹出PONG代表启动成功
五.可视化工具
官网下载:收费
提取码:zyfu redis-desktop-manager-2019.4.0
提取码:1sod redis-desktop-manager-0.8.8.384
六.数据操作
- redis是key-value的数据,所以每个数据都是一个键值对
- 键的类型是字符串
- 值的类型分为五种:①字符串string②哈希hash③列表list④集合set⑤有序集合zset
- 数据库操作的全部命令
七.基础命令
-
String
概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,既可以存储任何数据,比如数字,图片,序列化对象等等- 设置
- 设置键值
语法:set key value 示例:set a "cxf is a good man" ``` 2. 设置键值及过期时间 ``` 语法:setex key seconds value 示例:setex b 10 yes ``` 3. 设置多个键值 ``` 语法:mset key value[key value...] 示例:mset c good d nice ``` 2. 获取 1. 根据键获取值,如果键不存在则返回null ``` 语法:get key 示例:get e ``` 2. 根据多个键获取多个值 ``` 语法:mget key1 key2 key3 示例:mget a c d ``` 3. 运算 要求:值是数字类型的字符串 4. 将key对应的值+1
set f 10
语法:incr key
示例:incr f2. 将key对应的值-1 ``` 语法:decr key 示例:decr f ```
5. 将key对应的值加整数
语法:incrby key int
示例:incrby f 26. 将key对应的是减整数
语法:decrby key int
示例:decrby f 27. 其它 1. 追加值 ``` 语法:append key value 示例:append a "!" ``` 2. 获取长度 ``` 语法:strlen key ```
- 设置
-
Key
- 查找键,支持正则
语法:keys *
- 判断键是否存在,如果存在则返回1,不存在则返回0
语法:exists key
- 查看键对应的value类型
语法:type key
- 删除键及对应的值
可以删除多个值语法:del key1 key2
- 设置过期的时间,以秒为单位
语法:expire key seconds 示例:expire a 3
- 查看有效时间,秒为单位
set a "cxf is a good man" 语法:ttl key 示例:ttl a "3"
- 查找键,支持正则
-
hash
- 概述:hash用于存储对象
{
name:"Tom",
type:"18"
}
- 设置
- 设置单个值
语法:hset key field value 示例:hset key name tom
- 设置多个值
语法:hmset key field value[field values...] 示例:hmset name "陈" age 20 # 不同版本会报错
- 设置单个值
- 获取
- 获取一个属性的值
语法:hget key field 示例:hget key name
- 获取多个属性的值
语法:hmget key field 示例:hmget key name age
- 获取所有属性和值
语法:hgetall key 示例:hgetall key
- 获取所有的键
语法:hkeys key 示例:hkeys key
- 获取所有的值
语法:hvals key 示例:hvals key
- 返回包含数据的个数
语法:hlen key 示例:hlen key
- 获取一个属性的值
- 其它
- 判断属性是否存在,存在返回1;不存在返回0
语法:hexists key field 示例:hexists key name
- 删除属性及值
语法:hdel key field 示例:hdel key name
- 返回值的字符串长度
语法:hstrlen key field 示例:hstrlen key anem
- 判断属性是否存在,存在返回1;不存在返回0
- list
- 概述:列表元素类型为string,按照列表插入顺序排序,在列表的头部或尾部添加元素
- 设置
- 头插法
语法:lpush key value
- 尾插法
语法:rpush key value
- 在一个元素前/后加一个新元素
语法:linsert key after|before pivot value 示例:linsert key after 1 3# 在值1后添3
- 设置指定索引的元素值
语法:lset key index value 示例:lset s1 2 4 注意:index0开始;索引值可以是负数,表示从list尾部开始:-1代表最后一个元素
- 头插法
- 获取
- 移除并返回key对应list的第一个元素
语法:lpop key
- 移除并返回key对应list的最后一个元素
语法:rpop key
- 返回存储在key的列表中的指定范围的元素
语法:lrange key start end 注意:start和end可以从0开始;偏移量可以是负数
- 移除并返回key对应list的第一个元素
- 其它
- 裁剪列表,改为原集合的子集
语法:ltrim key start end
- 返回存储在key里的list长度
语法:llen key
- 返回列表中索引对应的值
语法:lindex key index
- 裁剪列表,改为原集合的子集
- set
- 概述:无序集合,元素类型为String类型,元素具有唯一性,不重复
- 设置
- 增
语法:sadd key value1 value2 value3...
- 查
- 返回key集合所有元素
语法:smembers key
- 返回集合元素个数
scard key
- 返回key集合所有元素
- 增
-
- 求多个集合交集
sadd d2 2 3 5 6 语法:sinter key [key...]
- 求多个集合的差集
语法:sdiff key[key...]
- 求多个集合的并集
语法:sunion key[key...] 示例:sismember d1 2 #有则返回1;不存在返回0
- 求多个集合交集
- 判断元素是否在集合中
语法:sismember key member
- zset
- 概述:有序集合,元素类型为String,元素具有唯一性,不能重复(pip install redis)
- 每个元素都会关联一个double类型的scorce(表示权重),通过权重的大小排序,元素的score可以相同
- 设置
- 添加
语法:zadd key score member[score member...] 示例:zadd z1 1 a 5 b 3 c 2 d 4 e
- 获取
- 返回指定范围内的元素
语法:zrange keystart end
- 返回元素个数
语法:zcard key
- 返回有序集合key中,score在min和max之间的元素个数
语法:zcount key min max 示例:zcount z1 2 4
- 返回有序集合key中,成员member的score值
语法:zscoe z1 member
- 返回指定范围内的元素
- 添加