redis的Windows安装和一些常用指令

来源:互联网 发布:crossover软件下载 编辑:程序博客网 时间:2024/06/06 08:47


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 zsOK
说明添加一个键为 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) 1127.0.0.1:6379> get userName(nil)


返回一个字符串的长度 strlen 

127.0.0.1:6379> set userName zsOK127.0.0.1:6379> strlen userName(integer) 2


同时设置多个键值对  mset  key value key velue

127.0.0.1:6379> mset key1 "Hello" key2 "World"OK127.0.0.1:6379> get key1"Hello"127.0.0.1:6379> get key2"World"


自增命令 incr  我们可以用于之后表的主键

127.0.0.1:6379> set i 1OK127.0.0.1:6379> incr i(integer) 2127.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) 16127.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"OK127.0.0.1:6379> hdel user1 userName(integer) 1

查看对象 hvals 键 
127.0.0.1:6379> hvals user11) "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) 3127.0.0.1:6379> lrange code 0 101) "c"2) "b"3) "a"127.0.0.1:6379> rpush code2 "a" "b" "c"(integer) 3127.0.0.1:6379> lrange code2 0 101) "a"2) "b"3) "c"

lindex  key 下标索引 通过下标索引查询
127.0.0.1:6379> lrange code2 0 101) "a"2) "b"3) "c"127.0.0.1:6379> lindex code2 1"b"

llen 键 
127.0.0.1:6379> lrange code2 0 101) "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 101) "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) 4127.0.0.1:6379> smembers myset1) "1"2) "123"3) "456"4) "789"

Sdiff 命令返回给定集合之间的差集。不存在的集合 key 将视为空集。

127.0.0.1:6379> sadd myset 1 123 456 789 1 456 789(integer) 4127.0.0.1:6379> smembers myset1) "1"2) "123"3) "456"4) "789"127.0.0.1:6379> sadd myset2 1 456 111 12 123(integer) 5127.0.0.1:6379> smembers myset21) "1"2) "12"3) "111"4) "123"5) "456"127.0.0.1:6379> sdiff myset myset21) "789"

Sinter 命令返回给定所有给定集合的交集。不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
 
 sinter key1 key2

 127.0.0.1:6379> smembers myset1) "1"2) "123"3) "456"4) "789"127.0.0.1:6379> smembers myset21) "1"2) "12"3) "111"4) "123"5) "456"127.0.0.1:6379>  sinter myset myset21) "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配置