美文网首页
Redis数据库的使用

Redis数据库的使用

作者: JJaden | 来源:发表于2018-11-06 09:21 被阅读0次

Redis是一个高性能的key-value数据库,并且有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Ubuntu安装Redis:

$sudo apt-get update
$sudo apt-get install redis-server
$ redis-server

查看是否启动: $ redis-cli

使用Redis客户端:
$ redis-cli
如果在远程服务上启动Redis客户端:
$ redis-cli -h host -p port -a password
有时候会有中文乱码,只需要redis-cli后面加上--raw

Redis的数据类型

Redis支持五种数据类型:string,hash,list,set(集合),zset(有序集合)

string:

可以包含任何数据,比如图片或者序列化的对象,这个类型最大能储存512MB

redis 127.0.0.1:6379> SET name "runoob"
OK
redis 127.0.0.1:6379> GET name
"runoob"

使用setget命令,例子中的name为变量名
可以使用DEL命令删除键

Hash:

这是一个键值对集合,特别适合用于存储对象

redis> HMSET myhash field1 "Hello" field2 "World"
"OK"
redis> HGET myhash field1
"Hello"
redis> HGET myhash field2
"World"

使用HMSET设置键值对,使用HGET获取对应的值

List:

Redis列表是简单的字符串列表,按照插入的顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边):

redis 127.0.0.1:6379> lpush runoob redis
(integer) 1
redis 127.0.0.1:6379> lpush runoob mongodb
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>

例子中runoob为list的名字,可以存储40多亿数据

Set:

这是String类型的无序集合,集合是通过哈希表实现的,所以增加,删除,查找的复杂度都是O(1):

redis 127.0.0.1:6379> sadd runoob redis
(integer) 1
redis 127.0.0.1:6379> sadd runoob mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq  #这里添加第二次,但是集合内元素具有唯一性,所以第二次的插入将被忽略
(integer) 0
redis 127.0.0.1:6379> smembers runoob

1) "redis"
2) "rabitmq"
3) "mongodb"

sadd key member
这里使用sadd命令将string类型元素添加到key对应的set集合中,成功返回1,元素已存在返回0,set不存在返回错误

zset:

与set不同的是每个元素都会关联一个double类型的分数,然后通过分数为集合中的成员进行从小到大的排序,成员元素不可重复,但是分数可以重复

redis 127.0.0.1:6379> zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000
1) "mongodb"
2) "rabitmq"
3) "redis"

zadd key score member
使用zadd命令,将元素添加到集合中,并且更新对应的分数score。

Redis事务:

Redis事务可以一次性执行多个命令,批量操作在发送EXEC命令前放入队列缓存,收到EXEC这个命令后进入事务执行,任意命令执行失败其余的命令依然被执行,在事务执行的过程中其他客户端提交的命令不会插入到事务执行命令的序列中。
例子如下:

redis 127.0.0.1:6379> MULTI
OK

redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"
QUEUED

redis 127.0.0.1:6379> GET book-name
QUEUED

redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"
QUEUED

redis 127.0.0.1:6379> SMEMBERS tag
QUEUED

redis 127.0.0.1:6379> EXEC
1) OK
2) "Mastering C++ in 21 days"
3) (integer) 3
4) 1) "Mastering Series"
   2) "C++"
   3) "Programming"

MULTI命令表明开始一个事务,然后添加各种命令,最后由EXEC命令执行事务中的所有命令
还可以使用DISCARD命令放弃执行事务块中的所有命令

相关文章

  • Thinkphp5怎么扩展Redis数据库,实现Redis的CU

    Thinkphp5怎么扩展Redis数据库,实现Redis的CURD操作 Redis怎么使用Redis数据库,本篇...

  • 云数据库 Redis 版功能特性

    关于云数据库 Redis 版详细了解: 云数据库 Redis 版使用教程 (云数据库Redis版是兼容Redis协...

  • Redis数据库概述

    (一):什么是Redis数据库 redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一...

  • web信息泄露

    1.redis数据库任意访问 简介 redis默认数据库端口6379, 未设置密码造成任意访问,然后使用redis...

  • Redis

    1、Redis 是什么?Redis 是一个使用 C 语言开发的数据库,不过与传统数据库不同的是 Redis 的数据...

  • linux安装+配置redis

    centos7.4 一、安装redis 使用yum命令安装redis数据库 yum install redis 安...

  • redis工具类-JedisUtil

    redis连接的工具类  1.java中的redis   java中,使用redis不会将其当作数据库来使用,更多...

  • [redis 源码走读] maxmemory 数据淘汰策略

    redis 是内存数据库,可以通过 redis.conf 配置 maxmemory,限制 redis 内存使用量。...

  • Linux Centos7下安装redis

    一、安装redis 使用 yum 命令安装redis数据库 安装完毕后,使用下面的命令启动redis服务 设置re...

  • 为什么要使用Redis?

    一、Redis简介 redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-v...

网友评论

      本文标题:Redis数据库的使用

      本文链接:https://www.haomeiwen.com/subject/cmeyxqtx.html