什么是Redis
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与Memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 可以在Linux,OSX,OpenBSD,NetBSD,FreeBSD上编译和使用,支持big endian(大字节序、高字节序)和little endian(小字节序、低字节序)架构。
安装
1、下载源文件并安装
wget http://redis.googlecode.com/files/redis-2.6.6.tar.gz
tar -zxf redis-2.6.6.tar.gz
cd redis-2.6.6
make
sudo make install
这样Redis的可执行文件被放到了/usr/local/bin中
2、作为服务启动
make install仅仅在你的系统上安装了二进制文件,但不会替你默认配置init脚本和配置文件,如果你仅仅需要体验下Redis,那这些是不必要的,但是如果你是为了把它用在生产环境而安装它,Redis为Ubuntu和Debian系统提供了这样的一个脚本
$ cd utils
$ ./install_server
执行./install_server你可能需要root权限,这个脚本可能会问你几个问题,然后为系统重新启动,Redis作为后台守护进程运行所需要的所有配置设置好。你可以使用/etc/init.d/redis_<portnumber>,例如/etc/init.d/redis_6379中的脚本来启动和停止Redis。
动态扩容
/usr/local/bin/redis-cli -h 192.168.0.34 -p 4503
获取当前值:
config get maxmemory
设置新值:
config set maxmemory 1073741824
Redis命令总结
连接操作相关的命令
quit:关闭连接(connection)
auth:简单密码认证
持久化
save:将数据同步保存到磁盘
bgsave:将数据异步保存到磁盘
lastsave:返回上次成功将数据保存到磁盘的Unix时戳
shundown:将数据同步保存到磁盘,然后关闭服务
远程服务控制
info:提供服务器的信息和统计
monitor:实时转储收到的请求
slaveof:改变复制策略设置
config:在运行时配置Redis服务器
对value操作的命令
exists(key):确认一个key是否存在
del(key):删除一个key
type(key):返回值的类型
keys(pattern):返回满足给定pattern的所有key
randomkey:随机返回key空间的一个
keyrename(oldname, newname):重命名key
dbsize:返回当前数据库中key的数目
expire:设定一个key的活动时间(s)
ttl:获得一个key的活动时间
select(index):按索引查询
move(key, dbindex):移动当前数据库中的key到dbindex数据库
flushdb:删除当前选择数据库中的所有key
flushall:删除所有数据库中的所有key
对String操作的命令
set(key, value):给数据库中名称为key的string赋予值value
get(key):返回数据库中名称为key的string的value
getset(key, value):给名称为key的string赋予上一次的value
mget(key1, key2,…, key N):返回库中多个string的value
setnx(key, value):添加string,名称为key,值为value
setex(key, time, value):向库中添加string,设定过期时间time
mset(key N, value N):批量设置多个string的值
msetnx(key N, value N):如果所有名称为key i的string都不存在
incr(key):名称为key的string增1操作
incrby(key, integer):名称为key的string增加integer
decr(key):名称为key的string减1操作
decrby(key, integer):名称为key的string减少integer
append(key, value):名称为key的string的值附加value
substr(key, start, end):返回名称为key的string的value的子串
对List操作的命令
rpush(key, value):在名称为key的list尾添加一个值为value的元素
lpush(key, value):在名称为key的list头添加一个值为value的 元素
llen(key):返回名称为key的list的长度
lrange(key, start, end):返回名称为key的list中start至end之间的元素
ltrim(key, start, end):截取名称为key的list
lindex(key, index):返回名称为key的list中index位置的元素
lset(key, index, value):给名称为key的list中index位置的元素赋值
lrem(key, count, value):删除count个key的list中值为value的元素
lpop(key):返回并删除名称为key的list中的首元素
rpop(key):返回并删除名称为key的list中的尾元素
blpop(key1, key2,… key N, timeout):lpop命令的block版本。
brpop(key1, key2,… key N, timeout):rpop的block版本。
rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
对Set操作的命令
sadd(key, member):向名称为key的set中添加元素member
srem(key, member) :删除名称为key的set中的元素member
spop(key) :随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名称为key的set的基数
sismember(key, member) :member是否是名称为key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
sunion(key1, (keys)) :求并集
sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
smembers(key) :返回名称为key的set的所有元素
srandmember(key) :随机返回名称为key的set的一个元素
对Hash操作的命令
hset(key, field, value):向名称为key的hash中添加元素field
hget(key, field):返回名称为key的hash中field对应的value
hmget(key, (fields)):返回名称为key的hash中field i对应的value
hmset(key, (fields)):向名称为key的hash中添加元素field
hincrby(key, field, integer):将名称为key的hash中field的value增加integer
hexists(key, field):名称为key的hash中是否存在键为field的域
hdel(key, field):删除名称为key的hash中键为field的域
hlen(key):返回名称为key的hash中元素个数
hkeys(key):返回名称为key的hash中所有键
hvals(key):返回名称为key的hash中所有键对应的value
hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value
分享到:
相关推荐
Spring-data-redis是Spring Data项目的一个子模块,设计用于简化Spring项目中对Redis数据库的操作。它为开发者提供了一套高级抽象层,使得在Java应用中使用Redis变得更加便捷和稳定。Spring-data-redis不仅支持常见...
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:django_models_redis_cache-2.6.6-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
2.6.6 zrevrange 返回有序集合中指定排名范围的成员,通过索引值,分数从高到低排序。 这些操作和数据结构是Redis的核心,提供了灵活的数据管理选项,使它成为构建复杂应用程序的理想选择。在设计系统时,选择合适...
- **1.4.1 安装Redis** - 下载最新版本的Redis源码包并解压,使用`make`编译安装。 - **1.4.2 配置Redis** - 修改`redis.conf`文件中的设置项,例如绑定地址、端口、持久化策略等。 - **1.4.3 操作数据库** - ...
- 下载最新版本的Redis源码包或使用包管理器安装。 - 编译安装,或者直接解压二进制包即可使用。 ##### 1.4.2 配置Redis - 修改`redis.conf`配置文件中的参数,例如端口号、数据目录等。 - 可以通过命令行工具设置...
接下来将详细说明所需依赖库的安装与配置过程。 #### 三、依赖环境 ##### 3.1 所需依赖库 SniperX的部署需要一系列的依赖库,这些库主要用于编译源代码、数据处理及网络监控等。 - **gcc**: 用于编译C语言源码。 ...
注意,这里还需要Spring Data Redis库,因为Spring整合Memcached通常会借助Spring Data的抽象层。 2. **配置Memcached服务器**:在Spring的配置文件(如applicationContext.xml)中,定义Memcached服务器的连接...
1、Megalo 是基于 Vue(Vue@2.6.6) 的小程序开发框架,让开发者可以用 Vue 的开发方式开发小程序应用。Megalo 是为了跨 H5 和小程序两端的应用提供一个高效的解决方案,只需要少量改动即可完成 H5 和小程序之间的...
MongoDB (v2.6.6) Redis (v2.8.19) 在本地运行项目 要运行应用程序,请按照下列步骤操作。 在/config目录中创建“secrets.js” module . exports = { mongo : { url : 'mongodb://yourhost:port/dbName' , ...
特征业务角色的抽象模块自动化和强化作用Sidekiq和Redis的队列和Backgroud作业使用ElasticSearch进行高级查询使用JavaScript更改更改视图国际化自动化测试设置泊坞窗业务角色交易税平日工作时间的接送= R $ 5,00;...
:用于构建RPM和DEB软件包的代码要求Ruby 2.6.6 PostgreSQL 9.3 Redis的2.4+发展历程配置中将密钥和机密配置为。 有关启动和运行所需的密钥和机密的信息,请参见.env.example 。 详细介绍了使超市在本地运行所需的...
Ruby 2.6.6-使用rbenv和ruby-build最简单 brew install rbenv brew install ruby-build rbenv install 2.6.6 gem install bundler --version 2.1.4 2.1.4- gem install bundler --version 2.1.4 具有PostGIS扩展...
Dubbo支持多种注册中心,例如Zookeeper、Redis等。在本例中,我们使用Zookeeper作为注册中心。 五、Dubbo原理分析 Dubbo的原理可以分为三个步骤:服务注册、服务发现、服务调用。 * 服务注册:服务提供者将其服务...