This README is just a fast *quick start* document. You can find more detailed documentation at [redis.io](https://redis.io).
What is Redis?
--------------
Redis is often referred as a *data structures* server. What this means is that Redis provides access to mutable data structures via a set of commands, which are sent using a *server-client* model with TCP sockets and a simple protocol. So different processes can query and modify the same data structures in a shared way.
Data structures implemented into Redis have a few special properties:
* Redis cares to store them on disk, even if they are always served and modified into the server memory. This means that Redis is fast, but that is also non-volatile.
* Implementation of data structures stress on memory efficiency, so data structures inside Redis will likely use less memory compared to the same data structure modeled using an high level programming language.
* Redis offers a number of features that are natural to find in a database, like replication, tunable levels of durability, cluster, high availability.
Another good example is to think of Redis as a more complex version of memcached, where the operations are not just SETs and GETs, but operations to work with complex data types like Lists, Sets, ordered data structures, and so forth.
If you want to know more, this is a list of selected starting points:
* Introduction to Redis data types. http://redis.io/topics/data-types-intro
* Try Redis directly inside your browser. http://try.redis.io
* The full list of Redis commands. http://redis.io/commands
* There is much more inside the Redis official documentation. http://redis.io/documentation
Building Redis
--------------
Redis can be compiled and used on Linux, OSX, OpenBSD, NetBSD, FreeBSD.
We support big endian and little endian architectures, and both 32 bit
and 64 bit systems.
It may compile on Solaris derived systems (for instance SmartOS) but our
support for this platform is *best effort* and Redis is not guaranteed to
work as well as in Linux, OSX, and \*BSD there.
It is as simple as:
% make
You can run a 32 bit Redis binary using:
% make 32bit
After building Redis, it is a good idea to test it using:
% make test
Fixing build problems with dependencies or cached build options
---------
Redis has some dependencies which are included into the `deps` directory.
`make` does not automatically rebuild dependencies even if something in
the source code of dependencies changes.
When you update the source code with `git pull` or when code inside the
dependencies tree is modified in any other way, make sure to use the following
command in order to really clean everything and rebuild from scratch:
make distclean
This will clean: jemalloc, lua, hiredis, linenoise.
Also if you force certain build options like 32bit target, no C compiler
optimizations (for debugging purposes), and other similar build time options,
those options are cached indefinitely until you issue a `make distclean`
command.
Fixing problems building 32 bit binaries
---------
If after building Redis with a 32 bit target you need to rebuild it
with a 64 bit target, or the other way around, you need to perform a
`make distclean` in the root directory of the Redis distribution.
In case of build errors when trying to build a 32 bit binary of Redis, try
the following steps:
* Install the packages libc6-dev-i386 (also try g++-multilib).
* Try using the following command line instead of `make 32bit`:
`make CFLAGS="-m32 -march=native" LDFLAGS="-m32"`
Allocator
---------
Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
Verbose build
-------------
Redis will build with a user friendly colorized output by default.
If you want to see a more verbose output use the following:
% make V=1
Running Redis
-------------
To run Redis with the default configuration just type:
% cd src
% ./redis-server
If you want to provide your redis.conf, you have to run it using an additional
parameter (the path of the configuration file):
% cd src
% ./redis-server /path/to/redis.conf
It is possible to alter the Redis configuration by passing parameters directly
as options using the command line. Examples:
% ./redis-server --port 9999 --replicaof 127.0.0.1 6379
% ./redis-server /etc/redis/6379.conf --loglevel debug
All the options in redis.conf are also supported as options using the command
line, with exactly the same name.
Playing with Redis
------------------
You can use redis-cli to play with Redis. Start a redis-server instance,
then in another terminal try the following:
% cd src
% ./redis-cli
redis> ping
PONG
redis> set foo bar
OK
redis> get foo
"bar"
redis> incr mycounter
(integer) 1
redis> incr mycounter
(integer) 2
redis>
You can find the list of all the available commands at http://redis.io/commands.
Installing Redis
-----------------
In order to install Redis binaries into /usr/local/bin just use:
% make install
You can use `make PREFIX=/some/other/directory install` if you wish to use a
different destination.
Make install will just install binaries in your system, but will not configure
init scripts and configuration files in the appropriate place. This is not
needed if you want just to play a bit with Redis, but if you are installing
it the proper way for a production system, we have a script doing this
for Ubuntu and Debian systems:
% cd utils
% ./install_server.sh
The script will ask you a few questions and will setup everything you need
to run Redis properly as a background daemon that will start again on
system reboots.
You'll be able to stop and start Redis using the script named
`/etc/init.d/redis_<portnumber>`, for instance `/etc/init.d/redis_6379`.
Code contributions
-----------------
Note: by contributing code to the Redis project in any form, including sending
a pull request via Github, a code fragment or patch via private email or
public discussion groups, you agree to release your code under the terms
of the BSD license that you can find in the [COPYING][1] file included in the Redis
source distribution.
Please see the [CONTRIBUTING][2] file in this source distribution for more
information.
[1]: https://github.com/antirez/redis/blob/unstable/COPYING
[2]: https://github.com/antirez/redis/blob/unstable/CONTRIBUTING
Redis internals
===
If you are reading this README you are likely in front of a Github page
or you just untarred the Redis distribution tar ball. In both the cases
you are basically one step away from the source code, so here we explain
the Redis source code layout, what is in each file as a general idea, the
most important functions and structures inside the Redis server and so forth.
We keep all the discussion at a high level without digging into the details
since this document would be huge otherwise and our code base changes
continuously, but a general idea should be a good starting point to
understand more. Moreover most of the code is heavily commented and easy
to follow.
Source code layout
---
The Redis root directory just contains this README, the Makefile which
calls the real Makefile inside the `src` directory and an example
configuration for Redis and Sentinel. You can find a few shell
scripts that are used in order to execute the Redis, Redis Cluster and
Redis Sentinel unit tests, which are implemented inside the `tests`
directory.
Inside the root are the following important directories:
* `src`: contains the Red
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【目标受众】: 本项目适合IT相关专业各种计算机技术的源代码和项目资料,如计科、人工智能、通信工程、自动化和电子信息等的在校学生、老师或者企业员工下载使用。 也适合小白学习进阶,可以用作比赛项目、可以进行项目复刻去参加同赛道比赛。 【资源内容】: 源码与竞赛资料:教育部认可的大学生竞赛备赛资料代码、源码、竞赛总结。 功能与质量保证:这个资源库是一个宝贵的学习平台,有助于他们深入了解计算机技术的原理和应用。这些源码经过测试和验证,可以直接运行,方便学生快速上手并开始实践。 【应用场景】: 竞赛准备:适用于各种教育部认可的竞赛,如全国电子设计大赛、全国大学生智能汽车竞赛等,他们可以借助这些资料了解竞赛的规则、要求和技巧。 学习与项目开发:可以用作毕设、课设、作业和竞赛项目的开发基础,可以使用这些源码作为项目开发的基础,快速构建出具有竞争力的作品。 【互动与交流】: 资料鼓励下载和使用这些资源,并欢迎学习者进行沟通交流、互相学习、共同进步。这种互动式的学习方式有助于形成良好的学习氛围,促进知识的共享和传播,为计算机相关专业的学习者提供了一个全面的学习和发展平台。
资源推荐
资源详情
资源评论
收起资源包目录
竞赛资料源码-基于协同过滤算法的在线教育平台(前后端分离)。.zip (2013个子文件)
naming-push.log.2021-06-03.0 2.15MB
naming-server.log.2021-06-06.0 1.2MB
naming-server.log.2021-06-05.0 1.06MB
naming-server.log.2021-06-04.0 1.02MB
naming-server.log.2021-06-07.0 862KB
naming-server.log.2021-06-09.0 798KB
naming-server.log.2021-06-08.0 624KB
config-memory.log.2021-06-06.0 493KB
config-memory.log.2021-06-05.0 438KB
naming-server.log.2021-06-10.0 432KB
config-memory.log.2021-06-04.0 426KB
config-server.log.2021-06-06.0 412KB
config-server.log.2021-06-05.0 366KB
config-server.log.2021-06-04.0 355KB
config-memory.log.2021-06-07.0 349KB
config-memory.log.2021-06-09.0 325KB
config-server.log.2021-06-07.0 292KB
config-server.log.2021-06-09.0 271KB
config-memory.log.2021-06-08.0 252KB
naming-event.log.2021-06-03.0 217KB
config-server.log.2021-06-08.0 210KB
config-memory.log.2021-06-10.0 159KB
config-server.log.2021-06-10.0 133KB
nacos_gc.log.0 100KB
naming-raft.log.2021-06-06.0 43KB
naming-raft.log.2021-06-04.0 30KB
naming-raft.log.2021-06-05.0 26KB
naming-raft.log.2021-06-10.0 22KB
naming-raft.log.2021-06-09.0 18KB
naming-raft.log.2021-06-07.0 17KB
naming-raft.log.2021-06-08.0 16KB
nacos.log.2021-06-06.0 9KB
nacos.log.2021-06-04.0 8KB
nacos.log.2021-06-05.0 8KB
nacos.log.2021-06-07.0 6KB
nacos.log.2021-06-09.0 6KB
naming-performance.log.2021-06-06.0 5KB
nacos.log.2021-06-08.0 4KB
naming-performance.log.2021-06-05.0 4KB
naming-performance.log.2021-06-04.0 4KB
naming-performance.log.2021-06-07.0 3KB
naming-performance.log.2021-06-09.0 3KB
nacos.log.2021-06-10.0 3KB
naming-performance.log.2021-06-08.0 2KB
naming-performance.log.2021-06-10.0 1KB
config-fatal.log.2021-05-28.0 202B
naming-distro.log.2021-05-28.0 108B
nacos_gc.log.1 44KB
lua.1 4KB
luac.1 4KB
nacos_gc.log.2 100KB
nacos_gc.log.3 100KB
nacos_gc.log.4 100KB
nacos_gc.log.5 100KB
nacos_gc.log.6 25KB
nacos_gc.log.7 100KB
nacos_gc.log.8 100KB
nacos_gc.log.9 100KB
configure.ac 71KB
luavs.bat 1KB
redis-cli.c 261KB
cluster.c 226KB
module.c 220KB
server.c 174KB
sentinel.c 174KB
replication.c 112KB
t_zset.c 106KB
t_stream.c 103KB
config.c 101KB
quicklist.c 98KB
rdb.c 96KB
scripting.c 88KB
networking.c 86KB
SFMT.c 86KB
jemalloc.c 85KB
ctl.c 79KB
rax.c 75KB
aof.c 71KB
ziplist.c 69KB
extent.c 65KB
arena.c 59KB
prof.c 59KB
hyperloglog.c 57KB
object.c 55KB
debug.c 54KB
db.c 53KB
defrag.c 42KB
lua_cjson.c 41KB
bitops.c 41KB
sds.c 40KB
stats.c 40KB
dict.c 40KB
sds.c 39KB
linenoise.c 38KB
t_set.c 38KB
lparser.c 36KB
lua_cmsgpack.c 30KB
listpack.c 30KB
geo.c 29KB
redis-benchmark.c 29KB
共 2013 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21
资源评论
妄北y
- 粉丝: 2w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PHP源码王者荣耀英雄图像及语音包查询源码
- yolov5吸烟检测数据集-yolov5抽烟识别检测数据集.zip
- Verilog HDL示例代码之01-锁存器、触发器、寄存器、移位寄存器等
- COMSOL模型,地热模型,干热岩模型 开采增强型地热系统地热模型,可考虑井壁变形,失稳破坏等问题,可以计算径向应力等参数,也可以增加损伤变量 增强型地热系统EGS,THM热流固耦合(渗流,温度,应
- nmap扫描结果转换execl
- PID-反步控制-滑膜控制三种四旋翼无人机轨迹跟踪控制算法仿真 附带对应的说明文档,提供建模过程与仿真结果文献(英文)PPT 描述:采用的同一种参考轨迹,都是三维仿真 三种控制方法: 1PID控制
- MySQL 查询指南:从基础到高级的全面解析
- yolov5吸烟检测数据集-yolov5抽烟识别检测数据集(亲测可用).zip
- html实现原生图片懒加载
- 《PHP程序设计》程序设计题目
- Verilog HDL示例代码之02-逻辑门、三态门、mux等
- 人工智能大作业基于机器学习的房价和二手房房价预测数据集+项目源码+说明(高分项目)
- Linux系统性能优化技巧与实战指南
- linux常用命令大全常用.txt
- linux常用命令大全常用.txt
- linux常用命令大全常用.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功