文章目录
- win安装
- 配置密码
- 配置服务
- 服务已经存在
- 可视化工具
- 运行
- 类型
- 基础类型
- 帮助文档
- 命令
- 通用命令
- string命令
- hash
- list
- set
- sortedset
win安装
下载地址
然后一路next就可以了。
记得添加到环境变量
配置密码
在目录打开配置文件
搜索requirepass
接触注释修改密码。
或者用cmd
config set requirepass root
配置服务
cmd打开所在文件夹
redis-server --service-install redis.windows.conf
服务已经存在
sc delete Redis
可视化工具
下载地址github
安装可以直接看
运行
redis-sever redis,config
注册成服务后会开机自启
连接
redis-cli -h 节点ip -p 端口 -a 密码
类型
基础类型
- string 字符串 asd123
- hash 字典/map {a: “123”}
- list 有序集合链表 a->b->c
- set 无序集合,不可重复 a,b,c
- sortedset 可排序的集合 {a:1,b:2,c:3}
帮助文档
- 官网
- help @类型
- help @string 查看string 的命令
- help @generic 查看通用命令
- help 命令 ,查看命令的使用
命令
通用命令
- keys
查看匹配的所有key
keys * 查看所有key
keys a* 查看所有以a开头的key - exists
查看key是否存在
exists name 查看名字为name 的key是否存在
存在则为1,否则为0 - del
删除key,可以接多个
del K1 K2 K3删除名字为K1 K2 K3的key
返回删除成功的数量 - exipre
设置key的失效时间
expire name 50
设置name50秒后过期 - ttl
查看key的存活时间
ttl name 查看name的有效时间
特殊的时间
-1 永久有效
-2 不存在
string命令
string类型是最简单的存储,但是由于性能优化,对于数字存储的是二进制存储节省空间,其他的是存字节码。不可能超过512m
-
set
set key value
添加/修改key的值为value -
get
get key
获取key的value值 -
mset
mset k1 v1 k2 v2
批量添加 -
mget
mget k1 k2
批量获取 -
incr
name : 1
incr name
get name 2
让整数类型自增一 -
incrby
incrby name 2
让整数自增并指定步长 -
incrbyfloat
incrbyfloat name 3.3 -
setnx
新增一个key但是不会进行修改,若存在则无效 -
setex
setex name 10 xiaoming
新增一个key并指定时间
hash
我感觉这个hash和string很类似
命令上都是string的命令加一个h,他set的时候是hset key field value,
这个和我直接set key:field value感觉是一样的。
get也是多了一个field,hget key field其他的依次类推
其他的都一样但是多了几个map的方法。
hgetall 获取所有的键值
hkeys 获取所有的建
hvals 获取所有的值
和java的类似
list
- lpush从左边加入
lpush 链表名 …values - lpop 从左出
- lpop 链表名
- rpush 从右入
- rpop 从右出
- lrange key start end 取角标取start 到end 内的元素
- blpop/brpop 从左/右阻塞式的取值
set
与java的hashset类似
- sadd key …values
向key集合中添加多个value - srem key value
移除key集合中的value - scard key
统计key中元素个数 - sismember key value
判断value是否在key集合中 - smembers key
获取set中所有元素 - sinsert key1 key2
获取key1和key2的交集 - sunion key1 key2
获取key1和key2的并集 - sdiff key1 key2
获取key1有的key2没有的
sortedset
与java和treeset类似但是底层不同,其基于score属性进行排序,
升序排名,如果想逆序则需要在z后面加上rev
我觉得这个应该叫sortedmap,key value结构挺像的
所有的排名和索引都是从0开始
命令和sort类似
- zadd key score value
添加一个或多个可排序的set元素 - zrem key value
移除 - zrank key value
获取其排名,从0开始 - zcount key min max
获取score在min和max之间的数量 - zincrby key increment value
让set在指定value自增 - zrange key min max
获取排名min到max之间的元素 - zrangebyscore key min max
获取score在min和max之间的元素
其他的和set一样知识把s换成z