GithubHelp home page GithubHelp logo

cloader / redis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tporadowski/redis

0.0 2.0 0.0 250.63 MB

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes. This repository contains unofficial port of Redis 4.0.x to Windows.

Home Page: http://redis.io

License: Other

Makefile 0.19% C# 0.26% Batchfile 0.01% C 78.48% PowerShell 0.10% Shell 0.36% C++ 5.06% Objective-C 0.56% Ruby 1.64% Tcl 13.32% Smarty 0.02%

redis's Introduction

Redis 4.0.2 for Windows - alpha release!

You can find the first alpha release of Redis 4.0.2 for Windows on releases page. Please test it and report any issues, thanks in advance!

DISCLAIMER

At the moment this is a highly experimental port of Redis 4.0.2 for Windows x64 merged with archived port of win-3.2.100 version from MS Open Tech team. Since the latter is no longer maintained - I merged the sources by hand, updated projects to Visual Stydio 2017 (v15.4.1) and applied whatever fast fixes I could figure of to make it buildable. Some things are still not working yet (modules), but since this is the very first time I've seen this code (not to mention that I haven't used C in a while) - I have no idea yet how it all works internally :). Nevertheless, it compiles, runs and can be further adjusted to comply with full-featured Redis 4.0.2.

Below you can find original content of README.md, which is mostly obsolete as of now and especially for this fork!

Redis on Windows

  • This is a port for Windows based on Redis.
  • We officially support the 64-bit version only. Although you can build the 32-bit version from source if desired.
  • You can download the latest unsigned binaries and the unsigned MSI installer from the release page.
  • For releases prior to 2.8.17.1, the binaries can found in a zip file inside the source archive, under the bin/release folder.
  • Signed binaries are available through NuGet and Chocolatey.
  • Redis can be installed as a Windows Service.

Windows-specific changes

  • There is a replacement for the UNIX fork() API that simulates the copy-on-write behavior using a memory mapped file on 2.8. Version 3.0 is using a similar behavior but dropped the memory mapped file in favor of the system paging file.
  • In 3.0 we switch the default memory allocator from dlmalloc to jemalloc that is supposed to do a better job at managing the heap fragmentation.
  • Because Redis makes some assumptions about the values of file descriptors, we have built a virtual file descriptor mapping layer.

Redis release notes

There are two current active branches: 2.8 and 3.0.

How to configure and deploy Redis on Windows

How to build Redis using Visual Studio

You can use the free Visual Studio 2013 Community Edition. Regardless which Visual Studio edition you use, make sure you have updated to Update 5, otherwise you will get a "illegal use of this type as an expression" error.

  • Open the solution file msvs\redisserver.sln in Visual Studio, select a build configuration (Debug or Release) and target (x64) then build.

    This should create the following executables in the msvs$(Target)$(Configuration) folder:

    • redis-server.exe
    • redis-benchmark.exe
    • redis-cli.exe
    • redis-check-dump.exe
    • redis-check-aof.exe

Testing

To run the Redis test suite some manual work is required:

  • The tests assume that the binaries are in the src folder. Use mklink to create a symbolic link to the files in the msvs\x64\Debug|Release folders. You will need symbolic links for src\redis-server, src\redis-benchmark, src\redis-check-aof, src\redis-check-dump, src\redis-cli, and src\redis-sentinel.
  • The tests make use of TCL. This must be installed separately.
  • To run the cluster tests against 3.0, Ruby On Windows is required.
  • To run the tests you need to have a Unix shell on your machine, or MinGW tools in your path. To execute the tests, run the following command: "tclsh8.5.exe tests/test_helper.tcl --clients N", where N is the number of parallel clients . If a Unix shell is not installed you may see the following error message: "couldn't execute "cat": no such file or directory".
  • By default the test suite launches 16 parallel tests, but 2 is the suggested number.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

redis's People

Contributors

antirez avatar pietern avatar mattsta avatar geoffgarside avatar badboy avatar tporadowski avatar oranagra avatar anydot avatar charsyam avatar jbergstroem avatar sunheehnus avatar itamarhaber avatar enricogior avatar hampus avatar yoav-steinberg avatar yossigo avatar yamt avatar erikdubbelboer avatar nanxiao avatar catwell avatar jokea avatar advance512 avatar michael-grunder avatar melo avatar soveran avatar mariano-perez-rodriguez avatar lucsky avatar lamby avatar therealbill avatar tnm avatar

Watchers

James Cloos avatar Sir Chen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.