01.Redis---基本操作

一、简介

百度百科:

 Redis是一个key-value存储系统(官网:http://redis.io),是一个分布式缓存数据库。

常用五种数据类型:

String、hash、list、set、sorted_set

二、Redis基本操作

默认为0号数据库,默认最多有15号数据库,切换数据库:select DBId

默认端口号:6379

默认登录命令:redis_cli

默认没有密码,如需要则开启redis.config的requirepass选项

有密码登录命令:redis-cli -p 6379 -a password

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

查看redis信息:info

退出redis:exit

关闭redis服务:shutdown

查看所有的key值:keys *

清空当前数据库数据:flushall

清空所有数据库数据:flushdb

控制key的有效时常:expire key seconds(秒)

控制key的有效时常:pexpire key milliseconds(毫秒)

查看key的剩余有效时常:ttl key(返回值为-2时表示key消失)

取消有效时长设设置:persist key

1.Redis---String

        字符串类型是redis中最简单的数据类型,它存储的值可以是字符串,其最大字符串长度支持到512M。

添加一个KV数据:set key value

根据K获取数据:get key

根据K对V自增操作:incr key(返回自增后的值,如果K不存在则会自动添加)

指定增长系数:incrby key 增长系数

根据K对V自减操作:dncr key(返回自减后的值,如果K不存在则会自动添加)

指定减少系数:decrby key 递减系数

向尾部追加值:append key value(K不存在则自动创建,返回的是追加后V的长度)

查看数据的长度:strlen key (键不存在或者值为空都会返回0)

判断K是否存在:exists key(存在返回1,不存在返回0)

同时设置多个键值:mset key value key value

同时获取多个键值:mget key1 key2 

2.Redis---Hash

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

设置一个map集合:hset key 属性 值 ...

获取值:hget key 属性

设置一个map集合多个属性:hmset key 属性 值...

获取map里的多个属性值:hmget key 属性1 属性2...

查看这个map集合所有值:hgetall key

修改值:这里的修改值直接重新赋值就可以了

自增:hincrby key 属性值 自增量

自减:没有自减命令,可以通过自增-1来实现

查看属性是否存在:hexists key 属性(存在返回1,不存在返回0)

删除属性:hdel key 属性

只获map里的属性名:hkeys key

只获map里的属性值:hvals key

3.Redis---List

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

在list头部添加元素:lpush key 元素...

查看list集合:lrange key 0 -1

在list尾部添加元素:rpush key 元素...

注意:注意要区分左插入还是右插入,最后查询的效果也不相同

 删除list集合:del key

在特定位置之前插入元素:linsert key before 在什么元素之前 插入的元素

在特定位置之后插入元素:linsert key after 在什么元素之后 插入的元素

设置list中指定下标的元素值,一般用于修改:lset key 下标值 修改之后的数据(下标可为负)

删除指定与value相同的元素,当指定的个数大于0时从头到尾删除,小于0时从尾到头删除,等于0时删除所有重复元素:lrem key  指定删除个数  指定的value元素

保留指定key 的值范围内的数据:ltrim key 区间头 区间尾

从list的头部删除元素,并返回删除元素:lpop key 删除元素个数(不写默认为一个)

从list的尾部删除元素,并返回删除元素:rpop key 删除元素个数(不写默认为一个)

返回key对应list的长度:llen key

返回名称为key的list中index位置的元素:lindex key 位置下标

从第一个list的尾部移除元素并添加到第二个list的头部,最后返回被移除的元素值,整个操作是原子的.如果第一个list是空或者不存在返回nil :rpoplpush key1 key2

4.Redis---Set

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

添加元素:sadd key 值 (添加成功返回1,失败返回0,不能添加重复数据)

获取内容:smembers key

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

获取set集合成员个数:scard key

移动一个元素到另外一个集合:smove 被移动元素的集合 目标元素集合 值

并集:sunion 集合一 集合二

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值