Redis的安装
下载地址:https://github.com/MSOpenTech/redis/releases
下载之后解压压缩文件
进入解压文件夹
双击 redis-server.exe 文件运行
说明运行成功了 端口为 6379
之后我们就可以运行客服端了
输入ping 回应pong 之后说明客服端连接成功了
Redis的简述
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
redis只有16张表 如果我们需要修改他的表的话需要修改他的配置 databases 16 进入表用 select 索引 索引从0开始
Redis命令
redis字符串
关于字符串的一些命令
设置一个字符串 使用set 命令 set的语法为 set key value
127.0.0.1:6379> set userName zs
OK说明添加一个键为 userName 的 值为 zs 的字符串设置成功
set设置 get取值 语法 get key
127.0.0.1:6379> get userName
"zs"
删除一个值用 del 语法 del key
127.0.0.1:6379> del userName
(integer) 1
127.0.0.1:6379> get userName
(nil)
返回一个字符串的长度 strlen
127.0.0.1:6379> set userName zs
OK
127.0.0.1:6379> strlen userName
(integer) 2
同时设置多个键值对 mset key value key velue
127.0.0.1:6379> mset key1 "Hello" key2 "World"
OK
127.0.0.1:6379> get key1
"Hello"
127.0.0.1:6379> get key2
"World"
自增命令 incr 我们可以用于之后表的主键
127.0.0.1:6379> set i 1
OK
127.0.0.1:6379> incr i
(integer) 2
127.0.0.1:6379> incr i
(integer) 3
append key value 拼接字符串 如果我们拼接的字符串需要分开的话我们要使用 “ ” 号 不然会出错
127.0.0.1:6379> get key1
"Hello"
127.0.0.1:6379> append key1 "world nihao"
(integer) 16
127.0.0.1:6379> get key1
"Helloworld nihao"
更多的指令可以查看 runoob 菜鸟教程 redis 的 redis字符串 和 下面网站 下面网站为英文的
更多命令请参考:https://redis.io/commands
redis对象 也就是hash
redis存储一个对象
使用指令hmset 对象名 属性名 属性值 属性名 属性值 属性名 属性值
127.0.0.1:6379> hmset user1 userId 1 userName "zs" sex "boy"
OK
删除对象的某一个字段 hdel 键 属性名
127.0.0.1:6379> hmset user1 userId 1 userName "zs" sex "boy"
OK
127.0.0.1:6379> hdel user1 userName
(integer) 1
查看对象 hvals 键
127.0.0.1:6379> hvals user1
1) "1"
2) "boy"
更多的指令可以查看 runoob 菜鸟教程 redis 的 redis哈希 和 下面网站 下面网站为英文的
更多命令请参考:
https://redis.io/commands
redis集合list
lpush 键 值 值 值
向左添加
rpush 键 值 值 值
向右添加
使用 lrange 键 下标 末尾下标 来进行查看
127.0.0.1:6379> lpush code "a" "b" "c"
(integer) 3
127.0.0.1:6379> lrange code 0 10
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> rpush code2 "a" "b" "c"
(integer) 3
127.0.0.1:6379> lrange code2 0 10
1) "a"
2) "b"
3) "c"
lindex key 下标索引 通过下标索引查询
127.0.0.1:6379> lrange code2 0 10
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> lindex code2 1
"b"
llen 键
127.0.0.1:6379> lrange code2 0 10
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> llen code2
(integer) 3
lpop key 移除最左边的一个值 并打印到控制台
rpop key 移除最右边一个值 并打印到控制台
127.0.0.1:6379> lrange code2 0 10
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> lpop code2
"a"
127.0.0.1:6379> rpop code2
"c"
更多的指令可以查看 runoob 菜鸟教程 redis 的 redis列表List 和 下面网站 下面网站为英文的
更多命令请参考:
https://redis.io/commands
redis集合Set
我们用sadd用来添加一个set集合
sadd 键 值 值 值 插入时有重复的会自动去重
smembers 键 查看一个set集合
127.0.0.1:6379> sadd myset 1 123 456 789 1 456 789
(integer) 4
127.0.0.1:6379> smembers myset
1) "1"
2) "123"
3) "456"
4) "789"
Sdiff 命令返回给定集合之间的差集。不存在的集合 key 将视为空集。
127.0.0.1:6379> sadd myset 1 123 456 789 1 456 789
(integer) 4
127.0.0.1:6379> smembers myset
1) "1"
2) "123"
3) "456"
4) "789"
127.0.0.1:6379> sadd myset2 1 456 111 12 123
(integer) 5
127.0.0.1:6379> smembers myset2
1) "1"
2) "12"
3) "111"
4) "123"
5) "456"
127.0.0.1:6379> sdiff myset myset2
1) "789"
Sinter 命令返回给定所有给定集合的交集。不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
sinter key1 key2
127.0.0.1:6379> smembers myset
1) "1"
2) "123"
3) "456"
4) "789"
127.0.0.1:6379> smembers myset2
1) "1"
2) "12"
3) "111"
4) "123"
5) "456"
127.0.0.1:6379> sinter myset myset2
1) "1"
2) "123"
3) "456"
更多的指令可以查看 runoob 菜鸟教程 redis 的 redis集合 Set 和 下面网站 下面网站为英文的
更多命令请参考:
https://redis.io/commands
redis的订阅和发布
subscribe key 订阅key频道
publish key 发布一个频道
更多的指令可以查看 runoob 菜鸟教程 redis 的 redis集合 Set 和 下面网站 下面网站为英文的
更多命令请参考:
https://redis.io/commands
关于意外退出问题
当我们意外退出客服端的时候我们存的值会存在的 因为我们redis有这个存储的功能
只要有三个配置
save <seconds> <changes>
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
详细配置请查看 runoob 菜鸟教程 的redis配置