Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库.
官网:https://redis.io/
最新稳定版已经更新到4.0.10,但是官方没有windows版本下载。
windows版本: https://github.com/MicrosoftArchive/redis/releases
github上有个windows版本3.2.100,由微软维护的,目前已不更新。
g友 redis4 : https://github.com/tporadowski/redis/releases
这是 Redis 4.0.2.2 for Windows (alpha)
安装
windows:
下载
这里选择的是3.2.100版本
安装过程会提示输入端口(默认6379),和设置最大内存...
下一步....完成。
完成后,会自动配置到系统服务,并且是已经启用的状态。
检测是否安装成功:
命令行 输入 redis-cli 即可进入交互模式。(安装时需勾选配置到环境变量,否则需要手动配置。)
Linux:
apt-get install redis-server
命令行输入:redis-cli 即可进入交互模式
配置文件一般在 /etc/redis/redis.conf
修改配置后, service redis restart
若设置密码后,需要 redis-cli -a 密码 才可进入。
连接远程 redis 服务:
命令行:redis-cli -h HOST -p PORT -a password
如果上面的方式连接不到服务端,请参照下图确认:
启动,停止,重启服务:
/etc/init.d/redis-server start(stop)(restart)
可视化工具 Redis Desktop Manager
https://github.com/uglide/RedisDesktopManager/releases
redis-py
安装:pipenv install redis
基本使用:
关于set:
基础
Redis一共支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。
以下操作,基于命令行下的原始操作,可能在redis-py中有个别不同。
输入 info 查看redis内存情况
keys的命名
\n和空格 不能作为key的组成部分,key的长度不限。
keys的操作
- select db-index
选择数据库,默认编号是0-15,共16个 - keys *
查看当前数据库所有的key
增
删
- del key1 key2……keyN
- flushdb
删除当前数据库的所有key - flushall
删除redis里的所有数据库的所有key
改
- rename oldkey newkey
- expire key seconds
设置key的过期时间。 - move key db-index
将key 从当前数据库移动到指定数据库
查
- exists key
测试key是否存在 - type key
返回key的类型,默认是str。 - keys pattern
返回匹配指定模式的所有key - dbsize
返回当前数据库的key数量 - ttl key
返回key的剩余过期秒数。
str类型
增
- set key value
默认情况,key不存在,则创建;存在,则覆盖。 - mset key1 value1 key2 value2……
一次设置多对键值对。
删
改
- incr key
执行一次加1。 - decr key
执行一次减1。 - incrby key integer
执行一次减少 指定的整数。 - decrby key integer
执行一次加上 指定的整数。 - append key value
在key的后面添加字符。
查
- get key
- mget key1 key2 ……
一次获得多个key的值。 - substr key start end
截取key的值,包括开始和结束位置的内容。
list 类型
增
- lpush key string
在key对应list的头部添加字符串元素。 - rpush key string
从右边添加元素。
删
- rpop key
在key对应list的尾部删除元素,返回删除的元素。 - lpop key
从左边删除元素, 返回删除的元素。
改
查
- llen key
返回key的元素个数。 - lrange key start end
返回key指定区间内的元素,包括开始和结束。 - ltrim key start end
截取list,保留指定区间元素。
set 类型
增
- sadd key member1 member2……
向key中添加集合元素。如果元素已经存在,返回0
删
- srem key member [,member2……]
将member从key中删除。
改
- smove p1 p2 member
将member从p1中移动到p2中。
查
- scard key
返回key中的元素个数。 - sismember key member
判断member是不是在key中,是返回1,不是返回0. - sinter key1 key2……
返回所有给定key的交集。 - sunion key1 key2……
返回所有给定key的并集。 - sdiff key1 key2……
返回所有给定key的差集。 - smembers key
返回key中的所有元素。
Sorted Set排序集合类型
和set一样,sorted set也是string类型元素的集合,不同的是每个元素都会关联一个 权(score)。通过 权值 可以有序的获取集合中的元素。
增
- zadd key score member
添加元素到key,元素存在则更新对应的score。
删
- zrem key member
删除指定元素,成功返回1,如果元素不存在返回0. - zremrangebyrank key min max
删除集合中排名在指定区间的元素。包括min,和max。默认score按从小到大排。
改
- zincrby key incr member
按照incr的幅度增加对应的member的score值,返回score值。
查
- zrank key member
返回指定元素在集合中的排名(下标),集合中的元素是按score从小到大排序的。 - zrevrank key member
同zrank,排序按score从大到小排序。 - zrange key start end
类似lrange操作,从集合中取指定区间的元素,返回的是有序结果。 - zrevrange key start end
和zrange相反的操作。 - zcard key
返回key中的元素个数。 - zscore key member
返回key集合中指定元素的score。
hash类型
增
- hset key field value
设置 hash field 为指定值,如果key不存在,则先创建。 - hmset key field1 value1 field2 value2……
删
- hdel key field
删除指定的field
改
- hincrby key field integer
将指定的hash field加上指定的值。
查
- hget key field
获取指定的field的值。 - hmget key field1 field2……
- hexists key field
判断field是不是存在。 - hlen key
返回field 的数量。 - hkeys key
返回key中的所有field。 - hvals key
返回key中的所有value。 - hgetall key
返回key中的所有field和value。
网友评论