- Notifications
You must be signed in to change notification settings - Fork56
ServiceStackApps/RedisReact
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This App is no longer maintained. The more recentRedis Vue Desktop Appcan be installed and opened with:
$ dotnet tool install -g app$ app open redisRedis React was a simple user-friendly UI for browsing data in Redis servers which as it's built fromaReact Desktop Template, it's available onmultiple platforms including Windows, OSX, Linux or deployed as a Self-Hosting Console or ASP.NET Web Application.
Redis React takes advantage of the navigation and deep-linking benefits of a Web-based UI, theproductivity and responsiveness of theReact frameworkand the rich native experiences and OS Integration possible from a Native Desktop Application.
Redis React is especially useful for browsing JSON values which includes ahuman friendly view of JSON data and the ability to view multiple related keys togetherin atabular data grid enabling fast inspection of redis data.
At anytime you can click on the JSON preview to reveal the raw JSON string, or use the Globaltshortcut key to toggle between preview mode and raw mode of JSON data.
The Redis React App has been packaged for multiple platforms inc. the ASP.NET Live Demoredisreact.servicestack.net deployed on AWS,you can use to preview Redis React browsing a redis server populated with theNorthwind Dataset persisted as JSON following theComplex Type Conventions built into theC# ServiceStack.Redis Client.
Use Redis React to browse your internal Redis Server by downloading the appropriate download for your platform.Each application is available as a self-contained portable .exe that can be run as-is (without installation).
To run on Windows, download the self-extracting Winforms App:
RedisReact-winforms.exe (23.9MB)
Windows requires .NET 4.5 installed which is pre-installed on recent version of Windows. Also VC 2012 Redistributable needs to be installed.
To run on OSX, download the Cocoa OSX App:
RedisReact.AppMac.mono.app.zip (16.5 MB) or without monoRedisReact.AppMac.app.zip (4.1 MB)
The Cocoa OSX App was built withXamarin.Macand includes an embedded version of Mono which doesn't require an existing install of Mono.
Embedded Mono version conflicts with an existing Mono v4.0.3 installation, can upgrade Mono or use non-embedded version.
To run on Linux, download the cross-platform Console App:
RedisReact-console.exe (5.4MB) orRedisReact-console.exe.zip (1.7MB)
RedisReact-console.exe is a headless Console Application that can run on Windows, OSX and Linuxplatforms with .NET or Mono installed. Instead of being embedded inside a Native UI Desktop App,the Console Application starts a self-hosting HTTP server which it opens in the OS's default browser.
See the instructions forInstalling Mono on Linux.If installing via apt-get, it needs themono-complete package to run.
Added support for password authentication when establishing connections with redis.
Theconsole link now populates the console with the most appropriate command for each key type, e.g. clickingconsoleok a Sorted Set Key (ZSET) populates the Web Console withZRANGE key 0 -1 WITHSCORES
Delete links added on each key. Use thedelete link to delete a single key or theall link to delete allrelated keys currently being displayed.
Keys can now be edited in a larger text area which uses the full height of the screen real-estate available -this is now the default view for editing a key. Click the collapse icon when finished to return to theconsole for execution.
All Redis Console commands are now be edited in the expanded text area by clicking on the Expand iconon the right of the console.
Use theX icon in the search box to quickly clear the current search.
By default Redis React will try to connect to a local instance of redis-server on127.0.0.1:6379,which can be changed at runtime on the/connections page:
The Live Demo persists theNorthwind DatasetonDB 0 and test data for other Redis data structures onDB 1
You can also change the default connection by modifying theappsettings.txt in your User directory at:
C:\Users\MyUser\.redisreact/appsettings.txt # Windows/Users/MyUser/.redisreact/appsettings.txt # OSX or LinuxIf preferred you can also put a copy ofappsettings.txtin the same directory where the application is run.
Search lets youSCAN the keyset in Redis using pattern support avialable intheMATCH option. If no wildcard patterns are used a*is explicitly added to the end of the query to allow for autocomplete of results while you type.
By default it returns the first100 results and also displays summary info about each entry includingtheType of key,Size of the value stored and when the KeyExpires (if ever).
Clicking on a Search Result will show you the value stored at that key, if the value is JSON it will showa human-friendly view of the data, e.g:
You can click on the value to view the raw JSON instead or use thet shortcut key to toggle between views.
Theconsole andedit links take you to theConsole with the command text box populatedwith the appropriateGET orSET Redis command to view or modify the key.
The right sidebar shows a list of other similar keys you may want to look at next which you can navigateby clicking the key or using theLeft andRight arrow keys to navigate up/down the list.
When there's no Search query, the Sidebar instead lists the Search results of the parent key in theimplicit hierarchy as separated by the chars/ . :. The resulting key parts are also used inthe title link of the selected key as a breadcrumb to navigate up the Key's Hierarchy, e.g:
By convention many keys sharing the same Key Hierarchy generally are of the same type making it aneasy way to browse through related entries:
When keys share the same schema, clicking on theview as grid link lets you see multiple search resultsdisplayed in a tabular data grid, e.g:
Clicking on any of the results lets you view that item in more detail:
Use theLeft andRight arrow keys to quickly browse through each category
Clicking on the preview result will let you toggle to see the underlying JSON value, e.g:
Or use thet shortcut key to enable/disable preview mode globally
Once view the JSON inraw mode, you can select all the JSON text by holding downShift orCtrl key and clicking anywhere on the JSON text.
The built-in Console takes advantage of a Web Based UI to provide some nice enhancements. E.g. eachcommand is displayed on top of the result it returns, where clicking the command populates the text boxmaking it easy to execute or modify existing commands. AnyOK Success responses are in green, whilstany error responses are in red. Also just like JSON values above, it shows a human-friendly view forJSON data which can be clicked to toggle on/off individually:
This feature takes advantages of the POCO conventions built into theC# ServiceStack.Redis Client where it willautomatically display any related entities for the current value, as seen with the relatedCustomer theOrder was for and theEmployee who created it:
It works by scanning the JSON fields for names ending withId then taking the prefix and usingit to predict the referenced key, e.g:
CustomerId:FRANR => urn:customer:FRANRIt then fetches all the values with the calculated key and displays them below the selected Order.Clicking theCustomer orEmployee Key will navigate to that record, providing nice navigationfor quickly viewing a record and its related entities.
Theredisreact.servicestack.net Live Demo also has some testdata onDB 1 that lets you see what Redis's other data structures look like.Where instead of showing the length of the String in bytes, it shows the number of elements in eachcollection.
Clicking on a data structure just displays all items in the collection. Lists and Sets shows all itselements in a single column, e.g:
Whilst Sorted Sets and Hashes display its contents in 2 columns:
We hope you enjoy using Redis React and it provides a great experience for browsing data in yourRedis servers. Please leave any Feedback andFeature Requests on UserVoice!
Despite its rich functionality and support for multiple OS and Web platforms, Redis React is a very simpleReact Web Application under the hood. It only uses the cross-platformServiceStack Libraries for the entire Server implementation, whilstCefSharp is used inWinforms projectto give Windows access to a modern Web Browser in Chromium.
The entire server implementation is contained in the singleRedisServices.csServiceStack Service.
On the Client side all Ajax calls are made via the singleredis.js.What remains is a simple React App composed of a few straight-forwardJSX React ComponentsandReflux Data Stores.
The heavy lifting for packaging the React App is encapsulated inServiceStackVS newReact Desktop Apps VS.NET Template.
Where most of the development is done on a modernASP.NET React Projectwhich utilizes an optimal development workflow, bower for client dependencies and Grunt/Gulp tasksfor website bundling, optimizations and deployment.
What theReact Desktop Apps template adds in addition are the necessary Grunt tasks to package theASP.NET Web Application into a self-hosted HttpListener Console Application that's ILMerged intoa single cross-platform .exe.
The Windows project takes that 1 step further and wraps the stand-alone Server and embeds it inside aWinforms application, using the Chromium Web Browser in CefSharp to render the Web UI. Since CefSharpcontains native .dlls it can't be ILMerged so instead the Grunt task uses the7zip SFX support to create a self-extracting executable.
Also included is04-deploy-webapp Grunt task tooptimize, package and deploythe primary ASP.NET Web Application using MS WebDeploy using the details contained in/wwwroot_build/publish/config.json which we use to deploy toredisreact.servicestack.net
The VS .NET Template also generates a OSX Cocoa Xamarin.Mac project, but this needs to be built onOSX usingXamarin.Mac. One nice feature it has is being able to embed theMono runtime in the application bundle so the resulting OSX App can run without needing Mono installed!
About
Redis Browser in React
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.
























