REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
Redis支持五种数据类型:
127.0.0.1:6379> set hi xinchen
OK
127.0.0.1:6379> get hi
"xinchen"
DEL hello 用于删除前面测试用过的 key,不然会报错:(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> del hello
(integer) 1
127.0.0.1:6379> get hello
(nil)
127.0.0.1:6379> hmset hello field1 "Hello" field2 "World"
OK
127.0.0.1:6379> hget hello field1
"Hello"
127.0.0.1:6379> hget hello field2
"World"
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
127.0.0.1:6379> del hi
(integer) 0
127.0.0.1:6379> lpush hi redis
(integer) 1
127.0.0.1:6379> lpush hi mongodb
(integer) 2
127.0.0.1:6379> lpush hi rabbitmq
(integer) 3
127.0.0.1:6379> lrange hi 0 10
"rabbitmq"
"mongodb"
"redis"
存成功返回1,不成功返回0
127.0.0.1:6379> del hi
(integer) 1
127.0.0.1:6379> sadd hi redis
(integer) 1
127.0.0.1:6379> sadd hi mongodb
(integer) 1
127.0.0.1:6379> sadd hi mongodb
(integer) 0
127.0.0.1:6379> sadd hi rabbitmq
(integer) 1
127.0.0.1:6379> smembers hi
"rabbitmq"
"redis"
"mongodb"
添加元素到集合,元素在集合中存在则更新对应score
127.0.0.1:6379> del hi
(integer) 1
127.0.0.1:6379> zadd hi 0 redis
(integer) 1
127.0.0.1:6379> zadd hi 0 mongodb
(integer) 1
127.0.0.1:6379> zadd hi 0 rabbitmq
(integer) 1
127.0.0.1:6379> zadd hi 0 rabbitmq
(integer) 0
127.0.0.1:6379> zrangebyscore hi 0 1000
"mongodb"
"rabbitmq"
"redis"
如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。
redis-cli -h host -p port -a password
<!--eureka客户端依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
spring: application: # eureka的服务名称 name: orderservice eureka: client: service-url: # eureka的地址信息 defaultZone: http://127.0.0.1:10086/eureka/
String url = "http://userservice/user/" + order.getUserId();
/** * 创建RestTemplate并注入Spring * @param * @return */ @Bean @LoadBalanced // 负载均衡 public RestTemplate restTemplate(){ return new RestTemplate(); }