环境配置
拷贝Redis-x64-3.2.100到本地一个目录下,解压
然后设置环境变量PATH到该目录
Redis-server.exe:Redis服务端
Redis-cli.exe:Redis客户端
启动两个命令行,一个跑服务端,一个跑客户端
启动服务端:
redis-server.exe redis.windows.conf
启动客户端
redis-cli.exe
进入Redis的客户端命令行
测试命令:ping。如果响应PONG则表示redis已经成功运行了。
>>>ping
PONG
注意:Redis的端口号是6379,MySQL的端口号则为3306
命令语句
先记录一下Redis数据类型:
Redis中永远是key-value的数据。其中,键永远是字符串,值可以是如下的内容:
- string(字符串)(常用)
- hash(哈希)(加密运算)
- list(列表)
- set(无序集合)
- zset(有序集合)
string(字符串)
--set 设置键对应的值
SET key calue
--get 获取间对应的值
GET key
--如果get一个不存在的键则返回nil
--mget 一次获取多个值
mget key[key ...]
--append 往现有的字符串后面追加值
append key value
--strlen 查看字符串长度
strlen key
Key(键操作)
-- keys 查找键
keys pattern
--查找的键不存在。显示 empty list or set
--查找所有的键
keys *
--exist 判断键是否存在。存在返回1,否则返回0
exist key[key...]
--type 查看类型
type key
--del 删除键
del key [key...]
--expire 设置键的过期时间(s)
expire key seconds
hash(哈希)
--哈希可以理解为python中字典
--对应到python里就是 key = {'field':value,'field1':value1}
--hset 添加元素
hset key field value
--hget 获取元素
hget key field value
--hkeys 返回所有属性
hkeys key
--hvals 返回所有值
hvals key
--hgetall 返回所有属性和值
hgetall key
--返回包含属性和值的长度
hlen key
list(列表)
--列表可以从左或者从右插入元素
--lpush 从列表左边插入
lpush key value[value...]
-- rpush 从列表右边插入
rpush key value[value...]
--lrange 查看列表元素
lrange key satart stop
lrange myliest 0 -1
--linsert 左边开始从某元素旁边插入(没有 rinsert)
linsert key BERORE/AFTER pivot value
linsert kumata before masiwei
--pop 出来 lpop rpop
lpop key
rpop key
set(集合)
--集合与列表、元祖最大区别为没有index
--sadd 往集合中添加元素(会随机添加进去)
sadd key member [member...]
--smembers 获取所有元素
smembers key
--scard 获取元素个数
scard key
--sinter 求多个集合交集
sinter key [key...]
--sunion 求多个集合并集
sunion key [key...]
--sdiff 求多个集合差集
sdiff key [key...]
--sismember 判断元素是否在集合中
sismember key member
sismember myset kumata
sorted set (有序集合)
--有序集合的特点:每个元素都有两个属性
--score得分:按照得分值来排序
--member成员:集合中的值
-- zadd 添加元素
zadd key [NX|XX] [CH] [INCR] score member [score member ...]
zadd myset 1 kumata 2 masiwei 4 melo 3 dz
--zrange 查看成员
zrange key start stop [WITHSCORES]
zrange myset 0 -1
--返回集合中分值范围内的元素
zcount key min max
Redis中的订阅和发布
可以启动两个客户端,在一个客户端发布,另一个客户端订阅
--客户端A:使用subscribe命令进行订阅
subscribe channel [channel ...]
程序停下来,并没有退出,在等待发布
--客户端B:使用publish进行发布
publish channel message
然后A多了东西