您的位置:首页 > 数据库 > Redis

Redis 入门之 数据类型

2016-09-19 20:40 274 查看
Redis 下载与安装

Window 下 Redis 的下载

下载地址:https://github.com/MSOpenTech/redis/releases。

下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids

打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。

如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

Redis 的安装

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey

你可以通过 CONFIG 命令查看或设置配置项。

语法

Redis CONFIG 命令格式如下:

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

实例

redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"

2) "notice"

使用 * 号获取所有配置项:

实例

redis 127.0.0.1:6379> CONFIG GET *

你可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。

语法

CONFIG SET 命令基本语法:

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

实例

redis 127.0.0.1:6379> CONFIG SET loglevel "notice"

OK

redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"

2) "notice"

Redis 数据类型

Redis支持五种数据类型:string(字符串 —— get/set),hash(哈希 —— hmset/hgetall),list(列表 —— lpush/lrange),set(集合 —— sadd/smembers)及zset(sorted set:有序集合 —— zadd/zrangebyscore)。

序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object
obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。  序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。

序列化是对象永久化的一种机制。确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口。

Redis key(键) EXPIRE 命令为 key 设置过期时间:

redis 127.0.0.1:6379> EXPIRE runooobkey 60

Redis key(键) DUMP 命令序列化键值。 如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值。

redis> SET greeting "hello, dumping world!"

OK

redis> DUMP greeting

"\x00\x15hello, dumping world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde"

redis> DUMP not-exists-key

(nil)

Redis 字符串(string) Redis Decrby 命令将 key 所储存的值减去指定的减量值。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在 64 位(bit)有符号数字表示之内。

# 对已存在的 key 进行 DECRBY

redis> SET count 100

OK

redis> DECRBY count 20

(integer) 80

# 对不存在的 key 进行DECRBY

redis> EXISTS pages

(integer) 0

redis> DECRBY pages 10

(integer) -10

Redis 哈希(Hash) Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。

redis 127.0.0.1:6379> HMSET myhash field1 "Hello" field2 "World"

OK

redis 127.0.0.1:6379> HGET myhash field1

"Hello"

redis 127.0.0.1:6379> HGET myhash field2

"World"

Redis 列表(List)

BLPOP key1 [key2 ] timeout

移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

BRPOP key1 [key2 ] timeout

移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

Redis 集合(Set)

Redis Scard 命令返回集合中元素的数量。

Redis 有序集合(sorted set)

Redis Zcount 命令用于计算有序集合中指定分数区间的成员数量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis String List Set Key