Redis 基本操作

启动与关闭Redis服务、进入Redis环境

1.启动Redis服务

redis-server 拷贝的redis.conf的位置

redis-server redis6380/redis.conf   启动6380Redis服务

2.关闭Redis服务

redis-cli shutdown   # 默认关闭的是本机的6379端口的Redis服务

全称:

redis-cli -h 主机地址 -p 要关闭的Redis端口号  shutdown

redis-cli -h redis6380/redis.conf -p 6380 shutdown

3.进入Redis客户端环境

redis-cli -h Redis所在主机地址  -p 6379Redis

redis-cli -h localhost -p 6381   进入6381的环境

Redis的全称是Remote Dictionary Server

Redis是一种基于键值对(key-value)的NoSQL数据库。

Redis主从复制:

Redis的主从复制是单向的,只能从master复制数据到slave。

设置主从关系:

1. 在从服务器(slave)Redis命令行中直接输入:slaveof master的地址 master的端口号

2. 在从服务器(slave)的配置文件redis.conf中加入 slaveof master的地址 master的端口号

切主与断开复制:

切主操作:

slaveof master的地址 master的端口号

slaveof 127.0.0.1 6379 主从复制

断开复制:

slaveof no one

Redis特性

速度快

正常情况下,Redis执行命令的速度非常快,官方的数据是读写性能10万/秒。

速度快的主要原因:

Redis所有数据都是存放在内存中的;

Redis是用C语言实现的;

Redis使用了单线程架构;

基于键值对的数据结构服务器

Redis提供了5种基本数据结构:字符串、哈希、列表、集合、有序集合。

持久化

虽然Redis的所有数据都是存放在内存中的,但也提供了持久化的功能。

主从复制

keys *  查看所有的key

type key  查看key所对应的value的数据类型

del key [key1 key2 …]删除key

expire  key 过期时间(秒)

ttl key 查看键的剩余过期时间

一:字符串(string)

常用命令

(1)设置值

set key value [nx|xx]

注意:nx当key不存在时,才能设置成功

xx当key存在时,才能设置成功ss

(2)获取值

get key

(3)批量设置值

mset key value [key value …]

)批量获取值

mget key [key …]

(5) 计数

incr key

注意:incr 命令用于对值做自增操作,返回  结 果有三种情况:

值不是整数,返回错误

值是整数,返回自增后的结果

键不存在,按照值为0自增,返回结果为1

(6) 设置时间期限

setex a 10 good

运算:

incr key   #加1

decr key    #减1

incrby a 5  #加5

decrby a 5   #减5

(7)其他

append a b    #在a 追加b

二:哈希(hash)

在Redis中,哈希类型是指值本身又是一个键值对结构。

常用命令

(1) 设置值

hset key field value

hset student name tom

(2) 获取值

hget key field

hget student name

(3)删除field

hdel key  field [field …]

(4)计算field个数

hlen key

(5)批量设置或获取field-value

hmset key field value [field value…]

hmset student name tom age 20 sex boy score 80

三:列表

列表类型用来存储多个有序元素

常用命令

(1)从右边插入元素

rpush key value [value …]

(2)从左边插入元素

lpush key value[value…]

(3)获取指定范围内的元素列表

lrange key start end(注意:此处包括end索引)

(4)获取列表指定索引下标的元素

lindex  key  index

(5)获取列表长度

llen  key

(6) 从列表左侧(右侧)弹出元素

lpop|rpop key

(7)删除指定元素

lrem key count value

根据count的不同删除元素:

count>0,从左到右,删除最多count个元素

count<0,从右到左,删除最多count绝对值    个元素

count=0 删除所有

(8)修改指定索引下标的元素

lset key index newValue

列表可以组织成栈和队列:

lpush + lpop = Stack(栈)

lpush + rpop = Queue(队列)

四:集合(set)

集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素

集合内操作

(1)添加元素

sadd key element [element…]

(2)删除元素

srem key element[element…]

(3)计算元素个数

scard key

(4)获取所有元素

smembers key

(5)随机从集合返回指定个数元素

srandmember key [count]

(6)从集合随机弹出元素

spop key [count]

注意:从Redis3.2版本开始,才支持[count]参数

集合间操作

(1)求多个集合的交集

sinter key [key…]

(2)求多个集合的并集

sunion key [key…]

(3)求多个集合的差集

sdiff key [key…]

五:有序集合

有序集合保留了集合不能有重复成员的特性,但不同的是,有序集合中的元素可以根据每个成员的分数进行排序

常用操作

(1)添加成员

zadd key score member [score member …]

(2)计算成员个数

zcard key

(3)获取某个成员的分数

zscore key member

(4)删除成员

zrem key member [member…]

(5)增加成员分数

zincrby key increment member

(6)计算成员的排名

zrank key member   (从低到高)

zrevrank key member  (从高到低)

(7)返回指定排名范围的成员

zrange key start end [withscores]

zrevrange key start end [withscores]

(8)返回指定分数范围的成员

zrangebyscore  key  min max [withscores]

zrevrangebyscore key max min[withscores]

(9)返回指定分数范围成员个数

zcount key min max

(10)删除指定分数范围的成员

zremrangebyscore  key  min max

你可能感兴趣的:(Redis 基本操作)