redis

1 什么是redis

  1. REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的key-value 存储系统,是跨平台的非关系型数据库。
  2. Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
  3. Redis通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sortedsets)等类型。

2 redis下载安装

下载官网:http://www.redis.net.cn/ 点击这里
解压后重点

redis. windows.conf:   		配置文件
redis-cli. exe              redise的客户端
redis-server. exe           redis服务器端

3 redis数据结果

redis存储的是:key,value格式的数据,其中key都是字符串
value的数据结构5(种)
4. 字符串类型 string
5. 哈希类型 hash :map格式
6. 列表类型 list:linkedlist 格式。支持重复元素
7. 集合类型set:不允许重复元素
8. 有序集合类型 sortedset:不知许重复元素,且元素有顺序

4 Redis 数据类型

Redis支持五种数据类型:
9. string(字符串)
10. hash(哈希)
11. list(列表)
12. set(集合)
13. zset(sorted set:有序集合)。

1 string(字符串)

  1. SET 存值 和 GET 取值
redis 127.0.0.1:6379> SET userName"zs"
OK
redis 127.0.0.1:6379> GET userName
"zs"

2 Hash(哈希)

  1. hash 是一个键值(key=>value)对集合。
  2. Redis hash 是一个 string 类型的 field 和 value 的映射表,
  3. hash 特别适合用于存储对象。
redis 127.0.0.1:6379[1]> hset myhash userName zhangsan
(integer) 1
redis 127.0.0.1:6379[1]> hset myhash userName lisi
(integer) 0
redis 127.0.0.1:6379[1]> hget myhash userName
"lisi"
redis 127.0.0.1:6379[1]> hset myhash PassWord wangwu
(integer) 1
redis 127.0.0.1:6379[1]>  hget myhash PassWord
"wangwu"
redis 127.0.0.1:6379[1]> hgetall myhash
1) "userName"
2) "lisi"
3) "PassWord"
4) "wangwu"

3 List(列表)

  1. Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
  2. lpush 是左
  3. rpush 是右
redis 127.0.0.1:6379[1]> lpush mylist aa
(integer) 1
redis 127.0.0.1:6379[1]> lpush mylist bb
(integer) 2
redis 127.0.0.1:6379[1]> lpush mylist cc
(integer) 3
redis 127.0.0.1:6379[1]>  rpush mylist ee
(integer) 4
redis 127.0.0.1:6379[1]>  rpush mylist ff
(integer) 5
redis 127.0.0.1:6379[1]>  rpush mylist gg
(integer) 6
redis 127.0.0.1:6379[1]> lrange mylist 0 -1
1) "cc"
2) "bb"
3) "aa"
4) "ee"
5) "ff"
6) "gg"

4 Set(集合)

  1. Redis 的 Set 是 string 类型的无序集合。
  2. 集合是通过哈希表实现的

redis 127.0.0.1:6379> DEL runoob
redis 127.0.0.1:6379> sadd myset redis
(integer) 1
redis 127.0.0.1:6379> sadd myset mongodb
(integer) 1
redis 127.0.0.1:6379> sadd myset  rabbitmq
(integer) 1
redis 127.0.0.1:6379> sadd myset rabbitmq
(integer) 0
redis 127.0.0.1:6379> smembers myset 
1) "redis"
2) "rabbitmq"
3) "mongodb"

zset(sorted set:有序集合)

  1. Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
  2. 不同的是每个元素都会关联一个double类型的分数。redis正是通过数来为集合中的成员进行从小到大的排序。
  3. zset的成员是唯一的,但分数(score)却可以重复。

127.0.0.1:6379[1]> zadd mysort 10 lucy
(integer) 1
127.0.0.1:6379[1]> zadd mysort 7 tom
(integer) 1
127.0.0.1:6379[1]> zadd mysort 20 jack
(integer) 1
127.0.0.1:6379[1]> zrange mysort 0 -1
1) "tom"
2) "lucy"
3) "jack"
127.0.0.1:6379[1]>  zrange mysort 0 -1 withscores
1) "tom"
2) "7"
3) "lucy"
4) "10"
5) "jack"
6) "20"
127.0.0.1:6379[1]>

版权声明:本文为z1427094386原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。