redis的常用命令及实例讲解

时间:2022-12-10 15:14:46

 

使用命令行操作redis

数据类型

字符串String

列表list 使用双向循序链表实现(LinkedList)

散列 Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象

集合set

有序集合zset 会自动排名,一般用于商品的排名

命令:

String数据类型的命令:

set:保存数据或修改数据: 例如 set name zhangsan

get 取数据   例如 get name

incr:递增 每使用一次   例如:incr age(可以用于年龄每年加一)

decr:递减 没使用一次           例如:decr age

incrby:增加 例如:incrby age 10 (如果age的值刚开始为20,执行命令后,值为30)

hash数据类型的命令:

hset:存hash 例如: hset user1 name zhangsan 存user1的名字为zhangsan

hget 取hash 例如: hget user1 name取user1的名字

如果用户的属性字段太多的话这样存取很麻烦

hmset:存对象:hmset user1 name zhangsan password admin age 10 用户名为张三 密码为admin 年龄10

hmget:取对象 hmget user1 name age password

hgetall:取对象的所有属性的值 hgetall user2 取用户的所有信息

redis的常用命令及实例讲解

hdel:删除字段 hdel user2 name

 

list数据类型的命令

lpush:左存 例如:lpush key1 1 2 3 ;向key1集合中放入1,2,3三个数;

lrange:取值 例如 lrange key1 0 -1;取出key1 中所有的数据,命令格式:lrange 集合名称 开始索引 结束索引(结束索引为-1时取出所有的数据)

redis的常用命令及实例讲解

rpush:右存,例如:rpush key1 7 8 9 向key1中保存7,8,9

再取一次 lrange key1 注意一下格式

redis的常用命令及实例讲解

lpop:从左边弹出数据(删除最左边) 例如 lpop key1 弹出key1 集合的最上边的值

 

rpop:从右边弹出数据(删除最右边) 例如 rpop key1 弹出key1 集合最底部的值

左右各弹出一次,使用lrange key1 0  -1查询所有数据,显示如下:

redis的常用命令及实例讲解

set数据类型的命令(无序,不允许重复)

sadd :保存数据 例如sadd key1 1 2 3 4 5 向集合key1 中添加 1,2,3,4,5

smembers:查询数据 例如 smembers key1 查询key1 中的所有句酷

sismember:判断集合中是否存在某个元素 例如 sismember key1 10 判断集合key1中是否存在10 如果存在就返回1,不存在返回0;

sdiff:集合运算差集,例如sdiff key1 key2 求key1和kye2的差集 key1-key2

sinter:交集 例如 sinter key1 key2 求key1和key2的交集

sunion:并集 例如sunion key1 key2 求key1和key2的并集

zset数据类型的命令(有序集合,redis会自动排序)

zadd:添加 例如 zadd zkey1 10 zhangsan 10 lisi 15 wangwu

redis的常用命令及实例讲解

zrange :查询(已经自动排序)

例如:zrange zkey1 0 -1 withscores(如果命令不带withscores则不会显示分数)

redis的常用命令及实例讲解

zrem:删除;例如zrem zkey1 wangwu 删除王五

 

zscore:查询单个分数 zsore zkey1 lisi 查询zkey1集合中lisi的分数

zrevrange:降序排序 例如: zrevrange zkey1 0 -1 withscores(命令中带有withscores则会显示分数)

通用命令:

keys:返回满足给定pattern的所有key 例如keys *ad 查询所有以ad结尾的key

ping:检查服务器是否还活着,发一个ping,服务器会响应一个PONG