Redis是一个远程内存数据库,是非关系数据库,它提供五种不同类型的数据结构。
一、redis的启动与连接
1.启动
/usr/local/bin/redis-server,默认采用安装路径下的redis.conf配置文件
2.连接
redis-cli -h 127.0.0.1 -p 6379
二、redis与其他数据的区别
Redis |
Memcached |
Mysql |
MongoDB |
内存存储、非关系型 |
内存存储、键值对 |
关系型 |
硬盘存储、非关系型 |
字符串、列表、集合、散列表、有序集合 |
键值之间的映射 |
一个数据库对应多个表,多个表对应多个行 |
一个表包含多个无schema的BSON文档 |
三、redis的五种数据结构
1.string
string结构可以存储字符串、整数或浮点数。它可以对整个字符串的其中一部分执行操作,对整数或浮点数执行自增或自减操作。
1)set hello world —->OK
2)get hello —->”world”
3)del hello —->(integer)1
4)get hello —->(nil)
2.list
list结构是一个链表,每个节点都是一个字符串。可以从链表的两端推入或者弹出元素,根据偏移量对链表进行截断,读取单个或多个元素,根据值查找或移除元素。
1)rpush list item1 —->(integer)1
2)rpush list item2 —->(integer)2
3)lrange list 0 -1 —->
1
)item1
2
)item2
4)lindex list 1 —->item1
5)lpop list —->item1
3.set
set结构是一个包含不重复字符串的无序结构。可以添加、获取、移除单个元素,检查一个元素是否存在于集合中,计算交集、并集、差集,随机的从集合中获取元素。
1)sadd set item —->(integer)1
2)sadd set item1 —->(integer)1
3)sadd set item —->(integer)0
4)smembers set —->
1
)item
2
)item1
5)sismember set item —->(integer)1
6)srem set item —->(integer)1
4.hash
hash结构是一个包含键值对的无序散列表。可以添加、获取、移除单个键值对,获取所有的键值对等。
1)hset hash key1 value1 —->(integer)1
2)hset hash key2 value2 —->(integer)1
3)hset hash key1 value3 —->(integer)0
4)hgetall hash —->
1
)key1
2
)value1
3
)key2
4
)value2
5)hdel hash key1 —->(integer)1
5.zset
zset结构是字符串成员与浮点数分值之间的有序映射,元素的排列顺序可以由分值的大小决定。可以添加、获取、删除单个元素;根据分值范围或成员来获取元素。
1)zadd zset 456 item1 —->(integer)1
2)zadd zset 123 item2 —->(integer)1
3)zrange zset 0 -1 —->
1
)item2
2
)item1
4)zrem zset item1 —->(integer)1