Redis常用指令

目录

概述

常用数据类型

一、Redis初始操作

二、Redis数据存储操作                                                                     

三、String类型常用操作                                                                                       

四、Hash类型常用操作                                                                 

五、List类型常用操作                                 

六、Set类型常用操作                     


概述

         Redis作为一种key/value结构的数据存储系统,为了便于对数据进行进行管理,提供了多种数据类型。然后,基于指定类型存储我们项目中产生的数据,例如用户的登陆信息,购物车信息,商品详情信息等等。

常用数据类型

        基础数据结构包含字符串、散列,列表,集合,有序集合。工作中具体使用哪种类型要结合具体场景。

一、Redis初始操作

docker start redis        启动redis服务        #start单词后的redis为容器名

ps -ef | grep redis        查看启动的redis进程信息   

kill -9 redis01               结束进程              #杀掉redis01这个进程

docker exec -it redis01 bash                     进入redis容器       #redis01 为容器名

#exec 作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容。 

redis-cli -p 6379 -a password                    登陆本地redis     

redis-cli  -h ip  -p 6379  -a  password        登陆远程redis 

#-a后面为password,此操作需要开启redis.conf文件中的 requirepass选项           

info                  查看redis信息                    #查看当前redis节点的详细配置信息

clear                清空redis屏幕     

exit                  退出redis服务               

shutdown        关闭redis服务     

help                 系统帮助            #help type              

二、Redis数据存储操作                                                                     

keys *        查看redis中的key

set key value        存储数据

get key value        获取数据

flushdb         清除当前数据库数据   

flushall         清除所有数据库数据

exprie key seconds             Key有效时间         #单位秒

pexprie key milliseconds     Key有效时间         #单位毫秒

ttl key                查看Key的剩余时间  

persist key        取消Key时长设置     

type key            查看key数据类型 

三、String类型常用操作                                                                                       

        字符串类型是redis中最简单的数据类型,它存储的值可以是字符串,其最大字符串长度支持到512M。基于此类型,可以实现博客的字数统计,将日志不断追加到指定key,实现一个分布式自增iid,实现一个博客的的点赞操作等 。

incr key                            当前键值递增

incrby key increment       指定增长系数

decr key                           当前键值递减

decrby key decrement     指定减少系数

append key value             向尾部追加值

strlen key                         查看字符串长度

mset key value [key value …]        同时设置多个键值

mget key[key ...]                             同时获取多个键值

四、Hash类型常用操作                                                                 

        散列类型相当于Java中的HashMap,实现原理跟HashMap一致,一般用于存储对象信息,存储了字段(field)和字段值的映射,一个散列类型可以包含最多232-1个字段。 

hset           赋值                             

HSET命令不区分插入和更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时返回0。

hget           取值

hgetall       取出key对应的所有对象

hincrby      自增                        #Hash类型没有自减 可以使用 -1 ;这个函数在key不存在时会自动创建key

hmset        多个赋值

hmget        多个取值

hexists       属性是否存在

hkeys         获取字段名

hdel            删除属性

hvals          获取字段值

五、List类型常用操作                                 

        Redis的list类型相当于java中的LinkedList,其原理就就是一个双向链表。支持正向、反向查找和遍历等操作,插入删除速度比较快。经常用于实现热销榜,最新评论等的设计。 

lpush                 添加(头部开始)               #在key对应list的头部添加字符串元素 

rpush                 添加(尾部开始)               #在key对应list的尾部添加字符串元素

linsert                添加(特定位置)             #在key对应list的特定位置之前或之后添加字符串元素

ltrim                   保留数据                         #保留指定key 的值范围内的数据 

del list               删除

lset                    修改(指定下标)                #设置list中指定下标的元素值(一般用于修改操作)

lrem                  删除(指定个数)                #从对应list中删除N个和value相同的元素,N>0时,按从头到尾的顺序删除

lpop                  删除(头部开始)                #从list的头部删除元素,并返回删除元素

rpop                  删除(尾部开始)                #从list的尾部删除元素,并返回删除元素

llen                   查看list长度

lpos                  获取指定元素下标 

lindex               查看下标元素

lrange              查看元素         #例:lrange mylist2 0 -1 其中:0,-1表示查看范围从第一个元素到最后一个元素。

rpoplpush        多list操作         #从第一个list尾部移除,添加到第二个list的头部,返回移除的元素。例:rpoplpush lst1 lst1

六、Set类型常用操作                     

        Redis的Set类似Java中的HashSet,是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis中Set集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 

sadd                添加元素

spop                移除元素                #移除并返回集合中的一个随机元素

smembers       获取内容

sismember      是否存在                #判断成员元素是否是集合的成员

scard               获取个数

smove             移动元素                #移动一个元素到另外一个集合

srem                删除元素  

sunion             合并集合                #合并集合元素生成一个新的集合查看,原集合数据不变

127.0.0.1:6379> sadd set1 a
(integer) 1
127.0.0.1:6379> sadd set2 b
(integer) 1
127.0.0.1:6379> sunion set1 set2
1) "b"
2) "a"
127.0.0.1:6379> smembers set1
1) "a"
127.0.0.1:6379> smembers set2
1) "b"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值