使用redis-cli 客户端操作redis

在src目录下面可以直接执行

./redis-cli -h IP -p 端口

连接redis服务器

下面是一些常规操作

set、del、dbsize、info、expire、ttl、persist、flushdb、flushall、keys、type、Object encoding

Redis:有16个库,从0—15,默认是0号库,库的选择:select 库号;不同库的数据不影响.

select 0-15 选择库

常用数据类型

String 字符串

List 集合

Set 无序的不重复的集合

Zset 有序集合

Hash hash表类似于map

对value为string类型的常用操作

set key value//将字符串值value关联到key

get key //返回key关联的字符串值

Redis操作 - 图1

mset //同时设置一个或多个 key-value 对

mget //返回所有(一个或多个)给定 key 的值

Redis操作 - 图2

Incr key //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)

decr key //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)

incrBy key //自增多少

decrBy key

Redis操作 - 图3

对list集合的常用操作

list集合可以看成是一个左右排列的队列(列表)

lpush key value //将一个或多个值 value 插入到列表 key 的表头(最左边)

rpush key value //将一个或多个值 value 插入到列表 key 的表尾(最右边)

Redis操作 - 图4

lpop key //移除并返回列表 key 的头(最左边)元素。

rpop key //移除并返回列表 key 的尾(最右边)元素。

Redis操作 - 图5

lrange key start stop //返回列表 key 中指定区间内的元素,查询所有的stop为-1即可

lrem key count value //根据count值移除列表key中与参数 value 相等的元素

Lrem 0307 2 rose

count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。count = 0 : 移除表中所有与 value 相等的值。

Count:正数负数决定移除的方向;

count:绝对值决定移除的数量

Redis操作 - 图6

lindex key index //返回列表 key 中,下标为 index 的元素

Redis操作 - 图7

redis怎么实现栈和队列(面试题)?

都用list,控制一边进同一边出就是栈(先进后出),一边进另一边出就是队列.(先进先出)

对set集合的常用操作

set集合是一个无序的不含重复值的队列

sadd key member //将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略

srem key member //移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略

smembers key //返回集合 key 中的所有成员。

Redis操作 - 图8

对zset(有序集合)的操作

Redis操作 - 图9

对hash类型的常用操作

hash类型类似于map

hset key name value//添加一个name=>value键值对到key这个hash类型

hget key name //获取hash类型的name键对应的值

hmset key name1 key1 name2 key2 //批量添加name=>value键值对到key这个hash类型

hmget key name1 name2//批量获取hash类型的键对应的值

hkeys //返回哈希表 key 中的所有键

hvals //返回哈希表 key 中的所有值

hgetall //返回哈希表 key 中,所有的键和值

我们将user:1(name:zhangsan,age:18,sex:nv)的信息保存在hash表.

Redis操作 - 图10