Redis---redis命令详解

1.启动关闭redis服务命令:

启动:redis-server  /etc/redis.conf 

关闭:方式一:  先使用ps -ef|grep redis  或者是 ps aux|grep redis来查看redis的端口,然后输入kill redis端口号来关闭redis后台.

      方式二: redis目录下 ./redis-cli shutdown

2.连接redis服务命令:

1.连接本地redis服务命令:redis-cli

2.远程连接redis服务命令:redis-clo -h host -p port -a password

输入shutdown 便成未连接状态,输入exit退出

3.redis数据类型

redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

string 是 redis 最基本的类型,string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。

hash 是一个键值(key=>value)对集合。 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

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

set 是 string 类型的无序集合。是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

zset(有序集合)是 string 类型的有序集合。zset的成员是唯一的,但分数(score)却可以重复。

4.keys命令:

keys * :查询所有的key

del key :key存在时删除key

exists key :检查key是否存在

expire key seconds(秒) :为key设置过期时间,以秒计算

persist key :移除key的过期时间,key将持久保持

ttl key :以秒为单位返回key的剩余过期时间

randomkey :从当前数据库中随机返回一个key

rename key newkey :修改key的名称

move key db :将当前数据库的key移动到给定的数据库db当中

type key :返回key所存储值的类型

5.string(字符串命令):

set key value :设置指定key的value

get key :获取指定key的value

getset key value :为key设置新value,并返回key的旧value

mget key1 key2 key3.... :获取一个或多个key的value

setnx key value :key不存在时设置key的value

setex key seconds value :将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。

strlen key :返回key所存储的字符串的长度

mset key1 value1 key2 value2 .... :同时设置一个或多个key-value

incr key :将key中存储的数字值增加1

decr key :将key中存储的数字值减1

incrby key increment :将key所存储的值加上给定的增量值increment

append key value :如果key存储的值是一个字符串,append命令将指定的value追加到key原来bvalue的末尾。

6.hash命令:

hset key field value [field value] :存放指定key的field和value值

hdel key filed1 field2 :删除一个或多个哈希表字段

hexists key field :查看哈希表key中,指定的字段是否存在

hget key field :获取存储在哈希表中指定字段的值

hincrby key field increment :为哈希表key中指定的字段的整数值加上增量increment

hlen key :获取哈希表中字段的数量

hkeys key :获取所有哈希表中的字段

hvals key :获取哈希表中所有的值

hgetall key :获取在哈希表中指定key的所有字段和值

hmget key field1 field2 :获取所有给定字段的值

hmset key field1 value1 field2 value3 ....... :同时将多个field-value(域-值)对设置到哈希表key中

7.list(列表):

llen key :获取哈希表中所有的值获取列表长度

lpop key :移出并获取列表的第一个元素

lpush key value1 value2... :将一个或多个值插入到列表的头部

lpushx key value :将一个值插入到已存在的列表的头部

lrange key 0 -1 获取指定范围内的元素

lrem key count value :移除列表中count个与参数value相等的元素。 count > 0 :从表头到表尾 count=0 :移除所有

lset key index value :通过索引(下标)设置列表元素的值

ltrim key 0 6 :对一个列表进行修剪 让列表只保留指定区间内的元素,不在指定区间的元素都将被删除

rpop key :移除列表的最后一个一个元素,返回值为移除的元素

rpoplpush :列表 列表 移除列表的最后一个元素,并将该元素添加到另一个列表并返回

rpush key value1 value2 :在列表中添加一个或多个值

rpushx key value :为已存在的列表添加值

8.set集合:

set 是 string 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

sadd key member1 menber2...:向集合添加一个或多个成员

scard key :获取集合的成员数

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

sdlff key1 key2 :返回第一个集合和第二个集合(其他集合)之间的差异

sinter key1 key2 返回给定所有集合的交集

sunion key1 key2  :返回所有给定集合的并集

sismember key member :判断member元素是否是集合key的成员

smove source destination member :将member元素从source集合移动到 destination集合

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

srandmember key :数字 返回集合中一个或多个随机数

srem key member1 ..... :移除集合中一个或多个成员

9.zset(sorted set:有序集合)

zset集合和无序集合一样都是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

zadd key score1 member1 【score2 member2】 :向有序集合添加一个或多个成员,或者更新已经存在的分数

zcard key :获取有序集合的成员数

zcount key min max :计算在有序集合中指定区间分数的成员数

zrange key start stop withscores :通过索引区间返回有序集合指定区间内的成员

zrevrangebyscore key max min withscores :返回有序集合中指定分数区间内的成员,分数从高到低排序

zscore key member :返回有序集合中,成员的分数值

 

posted @ 2022-07-18 17:33  江南大才子  阅读(690)  评论(0编辑  收藏  举报