Releases · tporadowski/redis · GitHub
直接去选择msi格式的,窗口式的安装,一步一步。
安装过程中有一个选项是问你需不需要配置到环境变量中,选上这个选项,不选的话,需要自己去配环境变量。
检查是否安装配置成功:
在cmd 中输入
redis-cli
默认有15个数据库,默认在第0个,可以用select切换数据库。
Redis:是用C语言开发的Key-Value类型的NoSQL数据库,整个数据库加载在内存当中操作,定期通过异步操作把数据库中的数据flush到硬盘.上进行保存。
NoSQL数据库:就是除去Mysql这种关系型数据库之外的数据库的通常。
redis存的全是字符串
在Redis中,数据存储的时候是以字符串形式存储的,而不会区分数据是数字还是字符串。Redis是一个无模式数据库,它将所有数据都视为二进制字符串。这意味着 Redis 存储的任何内容都是字符串,而 Redis 本身不会对数据类型进行检查。
既然存的全是字符串,那为什么有的数据还能自增自减?
Redis 中之所以能够执行自增(INCR)和自减(DECR)操作,尽管数据存储的全是字符串,是因为 Redis 实际上并不是将所有字符串都当作普通字符串对待。Redis 在内部会根据字符串的内容来判断其是否可以被解释为整数。
具体来说,当你执行自增和自减操作时,Redis会检查键的值是否满足以下条件:
如果键的值满足这两个条件,Redis 就会将其解释为整数,并执行自增或自减操作。否则,Redis 将返回一个错误,指示键的值不能解释为整数。
存储的数据类型:key,value形式存储的 key值是String类型的 value值是下面五种形式。
常用的是5种类型,还有其他的类型,例如位图、超级日志等类型。
(列表可重复,集合不可重复)
启动: redis-cli
数据库转换:select 11(0-15共16个数据库)
查询所有的key: keys *
查询所有key以test开头的:keys test*
查看某个key的类型:type key值
清空所有库里面的数据 (谨慎使用:flushall
删除某个key: del key值
判断值是否存在:exists key值1,key值2...
查看剩余的时间:ttl key值
或者直接设置过期时间:expire key值 秒数
set:格式:set key值 value1 ex 秒数 后面这是设置的过期时间
获取value:get key值
获取值的长度:strlen key值
值自减:decr key值(必须是数字)
值自增:incr key值(必须是数字)
key不可重复:哈希集合key值的每个键值对中的小key不能重复,但是value可以重复
存储:hset key值 key值(小) value值(小)
同时设置多个小key小value: hmset key值 key值(小) value值(小) key值(小) value值(小)....
取值:hget key值 key值(小)
举例:
#存了一个key是user:1的哈希集合,集合里面存了一个键值对 name:Alice
hset user:1 name "Alice"
#取出name的值
hget user:1 name
取所有值: hgetall key值
看是否存在:hexists key值 key值(小)
获取集合全部的key:hkeys key值
获取集合全部的value:hvals key值
有序可重复
像一个水平的矩形,可以从左右两边加数据、减数据
从左边开始存数据 lpush key值 value1 value2 value3 value4 value5 ..
存进去就是:value5 value4 value3 value2 value1
从右边开始存数据 rpush key值 value1 value2 value3 value4 value5 ..
存进去就是:value1 value2 value3 value4 value5
从左边获取并删除数据:lpop key值
从右边获取并删除数据:rpop key值
获取某个下标的数据:lindex key值 index值
查看长度:llen key值
查看下标从0-2的数据:lrange key值 0 2
类似hashset 无序不可重复
存数据: sadd key值 value1 value2 value3...
删数据:srem key值 value1
随机获取并删除数据:spop key值 数量 (随机去数据可以用来抽奖)
获取所有成员:smembers key值
获取成员个数:scard key值
并集操作:suntion key值1 key值2
交集操作:sinter key值1 key值2
有序且不重复
它是按照分数排序。
每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员(value)是唯一的,但分数(score)却可以重复。
添加:zadd key score1 value1 [score2 value2 ...] (若存在更新分数)
删除: zrem key value1 [value2 ...]
获取分数:zscore key value1
获取元素个数:zscore key
加分减分:zincrby key 加几分(数字) value1(可以为负数来减少分数)
获取排名:zrank key value1 (下标从0开始)
获取倒序排名 zrevrank key value1
范围获取:zrange key 起始下标 终止下标 [withscores](加withscores会同时输出分数)
不排序范围获取:zrevrange key 起始下标 终止下标 [withscores]
如果觉得文章还不错,麻烦点个赞吧